![](/img/trans.png)
[英]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.