您好我正在使用python flask Flask-Security 。
我想让用户确认他们的电子邮件,但不是他们的密码。
它不会要求用户输入他们的密码和其他输入来确认密码是否匹配。
相反,它只是要求用户输入一个密码。
SECURITY_CONFIRMABLE要求用户在注册新帐户时需要确认其电子邮件地址。
我希望用户确认他们的电子邮件,但不要检查密码是否与注册匹配。
答案 0 :(得分:1)
来自RegisterForm
的{{1}}继承自Flask-Security
,ConfirmRegisterForm
和PasswordConfirmFormMixin
。您应该从NextFormMixin
导入ConfirmRegisterForm
和NextFormMixin
,并定义仅从Flask-Security
和RegisterForm
继承的自定义ConfirmRegisterForm
。
NextFormMixin
重写from flask-security import ConfirmRegisterForm, NextFormMixin
class CustomRegisterForm(ConfirmRegisterForm, NextFormMixin):
def __init__(self, *args, **kwargs):
super(CustomRegisterForm, self).__init__(*args, **kwargs)
if not self.next.data:
self.next.data = request.args.get('next', '')
:
Flask-Security
答案 1 :(得分:0)
如果您使用SECURITY_CONFIRMABLE = True
并想在注册时使用密码确认,只需将其添加到配置文件或应用程序配置中即可:
from flask_security import RegisterForm
SECURITY_CONFIRM_REGISTER_FORM = RegisterForm
# or use this: app["SECURITY_CONFIRM_REGISTER_FORM"] = RegisterForm
这与Flask-Security==3.0.0