0

我正在尝试为用户注册创建一个应用程序,每当我尝试在数据库中插入值时,它都会显示错误:- TypeError: object() 不接受任何参数。

视图.py

@app.route('/join/' , methods=['GET','POST'])
def join(): 

    if request.method == 'POST' and request.form['username']:

        try:
            user = User.select().where(User.username==request.form['username']).get()
            flash('That username is already taken')
        except: 
            #user = User.select().where(User.username==request.form['username']).get()

            user = User(username = request.form['username']) #, email = request.form['email'] , password = request.form['password'] )
#           user.set_password(request.form['password'] )
            user.save()
            auth.login_user(user)
            return 'dua me yaad rakhna'
#           return render_template('home')
#   else:
#       return 'HAAN G DEKHYa fer'

    return render_template("join.html")
4

1 回答 1

0

我仍然是 peewee 的新手,但我认为问题可能是您使用错误的对象调用 .login_user 方法。

auth.login_user(user)

查看实际的 flask-peewee 文档(http://flask-peewee.readthedocs.org/en/latest/getting-started.html#creating-a-flask-app),

我向您推荐以下流程:

  1. 检查你的 Flask、Peewee 和 flask-peewee 的版本。也许您使用了 API 冲突的不兼容版本。

  2. 如果您使用最近的 flask-peewee 模块,请检查您是否已正确初始化 Peewee Auth()Admin()类。作者建议的用户管理方法比您在代码中尝试的更多。

如果你成功了,请分享你的发现...... :-)

于 2014-04-11T13:10:57.440 回答