使用SQLAlchemy的hybrid_属性时,Flask找不到“password”字段

2024-05-03 13:05:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我在学烧瓶,我在试exploreflask tutorial。我的登记表坏了。错误在服务器.py并说:

password = form.password.data

TypeError: __init__() got an unexpected keyword argument 'password'

我使用的是Flask SQLAlchemy的声明性的\u基,所以我相信password上的hybrid_属性应该可以正常工作,但事实并非如此!在

在模型.py公司名称:

^{pr2}$

在表单.py公司名称:

from flask_wtf import Form
from wtforms import StringField, PasswordField
from wtforms.fields.html5 import EmailField
from wtforms.validators import InputRequired

class RegisterForm(Form):
    email = EmailField('email', validators=[InputRequired()])
    password = PasswordField('password', validators=[InputRequired()])

在服务器.py公司名称:

@app.route('/register', methods=["GET", "POST"])
def register():
    form = RegisterForm()
    if form.validate_on_submit():
        user = User(
            email = form.email.data,
            password = form.password.data
        )

        db_session.add(user)
        db_session.commit()
        return redirect(url_for('login.html'))
    return render_template('register.html', form=form)

我不知道怎么了?在


Tags: frompyimportform服务器名称registerdata
1条回答
网友
1楼 · 发布于 2024-05-03 13:05:17

在服务器.py您正在使用电子邮件和密码初始化用户实例。 但是,User类的构造函数只接受参数name和email。在

所以你应该改变你的构造函数,它也接受密码。在

def __init__(self, name=None, email=None, password=None)
    #your constructor logic

相关问题 更多 >