我正在尝试创建一个基本表单,但我的 validate_on_submit()
函数没有实现。
它只返回 nahh
,正如您在我的路线中看到的那样。
谁能帮我找出我的代码有什么问题。
验证:-
class LoginForm(FlaskForm):
username = StringField('username', validators = [
InputRequired(message = "Please Enter the username"),
Length(min = 2, max = 23)
])
password = PasswordField('password', validators = [
InputRequired(),
Length(min = 4, max = 25, message="Password must be between 4 and 25 characters")
])
路线:-
@app.route('/login', methods = ['GET', 'POST'])
def login():
form = LoginForm()
if form.validate_on_submit():
username = form.username.data
print(username)
return username
return render_template('login.html', form = form)
@app.route('/loginn', methods=['POST'])
def loginn():
form = LoginForm()
if form.validate_on_submit():
return "Succeeds"
else:
return "Naahh"
登录.html:-
<body>
<form action="/loginn" method="POST">
Username
{% if form.username.errors %}
{{ form.username(class="form-control form-control-lg is-invalid")}}
{% for error in form.username.errors %}
<span>{{ error }}</span>
{% endfor %}
{% else %}
{{ form.username(class="form-control form-control-lg")}}
{% endif %}
Password
{% if form.password.errors %}
{{ form.password(class="form-control form-control-lg is-invalid")}}
{% for error in form.password.errors %}
<span>{{ error }}</span>
{% endfor %}
{% else %}
{{ form.password(class="form-control form-control-lg")}}
{% endif %}
<button>Submit</button>
</form>
</body>
答案 0 :(得分:0)
login.html 文件中缺少 CSRF 令牌