
56
|
第
5
章
<p>Pleased to meet you!</p>
{% else %}
<p>Happy to see you again!</p>
{% endif %}
</div>
{{ wtf.quick_form(form) }}
{% endblock %}
如果你从
GitHub
上克隆了这个应用的
Git
仓库,那么可以执行
git checkout
5b
检出应用的这个版本。
5.10
集成
Python shell
每次启动
shell
会话都要导入数据库实例和模型,这真是份枯燥的工作。为了避免一直重复
导入,我们可以做些配置,让 flask shell 命令自动导入这些对象。
若想把对象添加到导入列表中,必须使用
app.shell_context_processor
装饰器创建并注册
一个
shell
上下文处理器
,如示例
5-7
所示。
示例
5-7
hello.py
:添加一个
shell
上下文
@app.shell_context_processor
def make_shell_context():
return dict(db=db, User=User, Role=Role)
这个
shell
上下文处理器函数返回一个字典,包含数据库实例和模型。除了默认导入的 app
之外,flask shell 命令将自动把这些对象导入
shell
。
$
flask shell
>>>
app
<Flask 'hello'>
>>>
db
<SQLAlchemy engine='sqlite:////home/flask/flasky/data.sqlite'> ...