一. 添加登录表单
登录表单包含:输入电子邮件地址的文本字段、密码字段、“记住我”复选框、提交按钮。app/auth/forms.py:登录表单如下:
from flask_wtf import FlaskForm
from wtforms import StringField, PasswordField, BooleanField, SubmitField
from wtforms.validators import DataRequired, Length, Email, Regexp, EqualTo, ValidationError
from app.models import User
class LoginForm(FlaskForm):
"""登录表单"""
email = StringField('Email', validators=[DataRequired(), Length(1, 64), Email()])
password = PasswordField('Password', validators=[DataRequired()])
remember_me = BooleanField('Kepp me logged in')
submit = SubmitField('Log In')
注:提供验证函数列表时,WTForms将按照指定顺序执行各个验证函数。验证失败时,显示的错误消息将是首个失败的验证函数的消息。
登录页面使用的模板位于auth/login.html文件中:
{% extends "base.html" %}
{% import "bootstrap/wtf.html" as wtf %}
{% block title %}Flasky - Login{% endblock %}
{% block page_content %}
<div class="page-header"><h1>Login</h1></div>
<div class="col-md-4">
{
{ wtf.quick_form(form) }}
<br>