[英]Flask AttributeError: 'LoginForm' object has no attribute 'userEmail'
[英]AttributeError: 'LoginForm' object has no attribute 'validate_on_sumbit'
我已经完成了注册和登录页面注册页面工作正常,但是当我点击创建帐户时登录页面我得到 object 没有属性。
应用程序.py
from flask_wtf import FlaskForm
from wtforms import StringField,PasswordField,SubmitField
from wtforms.validators import Length,EqualTo,InputRequired,ValidationError
from models import User
@app.route('/login', methods=['GET', 'POST'])
def login():
login_form = LoginForm()
if login_form.validate_on_sumbit():
return "Logged in, finally!"
return render_template('login.html', form=login_form)
#wtform_fields.py
class LoginForm(FlaskForm):
"""Login Form """
username = StringField('username_label',validators=[InputRequired(message="username required")])
password = PasswordField('password_label',validators=[InputRequired(message="Password required"),invalid_credentials])
submit = SubmitField('Login')
登录.html
{% from 'form_helper.html' import DisplayField %}
{% extends "prelogin-layout.html" %}
{% block title %} Registration {% endblock %}
{% block content %}
<h3>Create your account</h3>
<hr>
<form action="{{ url_for('index') }}", method="POST" >
{{DisplayField(form.username, 'Username', autocomplete='off',autofocus=true)}}
{{DisplayField(form.password, 'Password')}}
{{DisplayField(form.confirm, 'Confirm Password')}}
<div class="form-group">
<input type="submit" value="Create" >
</div>
{{form.csrf_token}}
</form>
{% endblock %}
错误日志
in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
File "C:\Users\Catalyst\Desktop\Python\chatAp\application.py", line 18, in login
if login_form.validate_on_sumbit():
AttributeError: 'LoginForm' object has no attribute 'validate_on_sumbit'
我是 flask 的新手,你能指示我弄错的地方吗PS我正在使用 flaskwtf V1.0.1
将在 login.html 中添加提交的行从
<div class="form-group">
<input type="submit" value="Create" >
</div>
至
<div class="form-group">
{{DisplayField(form.submit, 'Create')}}
</div>
如果您使用的是 Flask WTF,表单中的所有字段都必须来自库。
PS我不知道你从哪里得到确认变量来检查密码。 它也可能不适合你。 如果您希望用户输入两次密码,请阅读此处: wtforms.validators.EqualTo
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.