Bootstrap

Flask-Blueprint (蓝图)

Flask-Blueprint (蓝图)

什么是蓝图

在Flask项目中可以用Blueprint(蓝图)实现模块化的应用,使用蓝图可以让应用层次更清晰,开发者更容易去维护和开发项目。蓝图将作用于相同的URL前缀的请求地址,将具有相同前缀的请求都放在一个模块中,这样查找问题,一看路由就很快的可以找到对应的视图,并解决问题了。

程序结构可以变为

application
users模块
vote模块
report模块

这些模块使用Blueprint可以拥有自己的url前缀地址进行区分

# 模块内 views.py文件
from flask import Blueprint
users = Blueprint('users', __name__)

@users.route('/register')
def register():
    return '注册页面'
# application/__init__.py

# 放在db = SQLAlchemy(app)这条语句后面
from application.users.views import users

# 注册蓝图
app.register_blueprint(users, url_prefix='/users')

在application下创建templates目录, 分模块存放页面,继承base.html

Flask-WTF - 表单验证和渲染组件

安装

$ pip install flask-wtf
from flask_wtf import FlaskForm
from flask_wtf import FlaskForm
from wtforms import StringField, SubmitField, PasswordField
from wtforms import ValidationError
from wtforms.validators import DataRequired, Length
from application.users.models import Users

class RegisterForm(FlaskForm):
    username = StringField('用户名', validators=[ DataRequired(), Length(max=128) ])
    password = PasswordField('密码', validators=[ DataRequired(
;