0

尝试在网站上实现用户注册表单我无法将用户输入作为新用户添加到数据库中。我正在使用 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 是新用户的临时字典。我应该提到,在官方 peewee 文档中,我尝试nUser, created = User.create_or_get(nUser)了返回太多参数的错误。

下面是关于User类的代码(存储在单独的 .py 中,但在上面from models import *):

class User(Model):
    email=TextField()
    uname=TextField(unique=True)
    pword=TextField()
    time=TextField()

    class Meta:
        database = db 

尽管从网络用户端看起来它“有效”,但没有记录添加到数据库中。以前我使用它User.select().where(User.uname......并且它有效,但现在我想切换到create_or_get()方法,因为它会缩短我的代码并且看起来更高效。老用户的登录工作正常,因此对数据库的连接和访问都很好。我会很感激任何提示。

4

1 回答 1

1

您链接显示的官方文档create_or_get仅采用关键字参数。要传递 dict,您需要使用以下**语法:

User.create_or_get(**nuser)
于 2016-07-22T11:49:38.997 回答