
大型应用的结构
|
71
(
Blueprint 构造函数的第一个参数),而且它与端点名之间以一个点号分隔。因此,视图
函数 index() 注册的端点名是 main.index,其
URL
使用 url_for('main.index') 获取。
url_for() 函数还支持一种简写的端点形式,在蓝本中可以省略蓝本名,例如 url_for
('.index')。在这种写法中,使用当前请求的蓝本名补足端点名。这意味着,同一蓝本中
的重定向可以使用简写形式,但跨蓝本的重定向必须使用带有蓝本名的完全限定端点名。
为了完成对应用包的修改,还要把表单对象移到蓝本中,保存在
app/main/forms.py
模块里。
7.4
应用脚本
应用实例在顶级目录中的
flasky.py
模块里定义。这个脚本的内容如示例
7-8
所示。
示例
7-8
flasky.py
:主脚本
import os
from app import create_app, db
from app.models import User, Role
from flask_migrate import Migrate
app = create_app(os.getenv('FLASK_CONFIG') or 'default')
migrate = Migrate(app, db)
@app.shell_context_processor
def make_shell_context():
return dict(db=db, User=User, ...