create_or_get 包含来自用户输入的数据
create_or_get with data from user input
尝试在网站上实现用户注册表单时,我无法将用户输入作为新用户添加到数据库中。我将 Flask 与 Peewee 一起使用,并且:
nUser ={
'email': request.form['e_mail'],
'uname': request.form['username'],
'pword': request.form['password'],
'time': strftime('%Y-%m-%d %H:%M:%S')
}
nUser = User.create_or_get()
其中 nUser 是新用户的临时字典。我应该提一下,我用 the official peewee docs 试过 nUser, created = User.create_or_get(nUser)
什么返回了太多参数的错误。
关于User
class的代码在下面(存储在单独的.py中,但那里有from models import *
):
class User(Model):
email=TextField()
uname=TextField(unique=True)
pword=TextField()
time=TextField()
class Meta:
database = db
虽然从网络用户的角度看"works",但没有记录添加到数据库中。以前我用 User.select().where(User.uname......
做到了并且它有效,但现在我想切换到 create_or_get()
方法,因为它会缩短我的代码并且看起来更有效率。旧用户登录有效,因此连接和访问数据库没问题。如果有任何提示,我将不胜感激。
您 link 表明 create_or_get
仅采用关键字参数的官方文档。要传递字典,您需要使用 **
语法:
User.create_or_get(**nuser)
尝试在网站上实现用户注册表单时,我无法将用户输入作为新用户添加到数据库中。我将 Flask 与 Peewee 一起使用,并且:
nUser ={
'email': request.form['e_mail'],
'uname': request.form['username'],
'pword': request.form['password'],
'time': strftime('%Y-%m-%d %H:%M:%S')
}
nUser = User.create_or_get()
其中 nUser 是新用户的临时字典。我应该提一下,我用 the official peewee docs 试过 nUser, created = User.create_or_get(nUser)
什么返回了太多参数的错误。
关于User
class的代码在下面(存储在单独的.py中,但那里有from models import *
):
class User(Model):
email=TextField()
uname=TextField(unique=True)
pword=TextField()
time=TextField()
class Meta:
database = db
虽然从网络用户的角度看"works",但没有记录添加到数据库中。以前我用 User.select().where(User.uname......
做到了并且它有效,但现在我想切换到 create_or_get()
方法,因为它会缩短我的代码并且看起来更有效率。旧用户登录有效,因此连接和访问数据库没问题。如果有任何提示,我将不胜感激。
您 link 表明 create_or_get
仅采用关键字参数的官方文档。要传递字典,您需要使用 **
语法:
User.create_or_get(**nuser)