gpt4 book ai didi

python - 继承具有验证功能的基本 flask 形式

转载 作者:行者123 更新时间:2023-11-30 22:05:36 25 4
gpt4 key购买 nike

我有一个 flask 形式,这是代码的一部分:

class BaseForm(FlaskForm):
username = TextField('Username')
email = TextField('Email', [validators.Required('Please enter your email address.'), validators.Length(min=6, message=('Too short for an email address?')), validators.Email(message=('Enter a valid email address.'))
])
password = PasswordField('Password')
register = SubmitField('Register')

class RegisterForm(BaseForm):
BaseForm.username
BaseForm.email
BaseForm.password
BaseForm.register

当我使用上面的代码时,不会呈现错误消息,但是,当我使用下面的代码时,就会呈现错误:

class BaseForm(FlaskForm):
username = TextField('Username')
email = TextField('Email', [validators.Required('Please enter your email address.'), validators.Length(min=6, message=('Too short for an email address?')), validators.Email(message=('Enter a valid email address.'))
])
password = PasswordField('Password')
register = SubmitField('Register')

class RegisterForm(BaseForm):
BaseForm.username
email = TextField('Email', [validators.Required('Please enter your email address.'), validators.Length(min=6, message=('Too short for an email address?')), validators.Email(message=('Enter a valid email address.'))
])
BaseForm.password
BaseForm.register

所以在我看来,这里的问题是验证没有与字段一起继承或者也许我不明白。我正在努力减少正在编写的代码。 请告诉我如何使用我的第一个代码,或者如果这是不可能的任务,请帮助我实现我正在尝试的表单继承

最佳答案

您的 RegisterForm 没有来自 BaseForm 的新字段。无论如何,不​​要在子类中重新定义字段。也许您应该首先阅读一些编程语言,例如 Python,特别注意继承。

只需这样做:

class BaseForm(FlaskForm):
username = TextField('Username')
email = TextField('Email', [validators.Required('Please enter your email address.'), validators.Length(min=6, message=('Too short for an email address?')), validators.Email(message=('Enter a valid email address.'))])
password = PasswordField('Password')

class RegisterForm(BaseForm):
register = SubmitField('Register')

关于python - 继承具有验证功能的基本 flask 形式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52958864/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com