Rumah > Soal Jawab > teks badan
大家都知道在 Flask 中我们可以通过 render_template
函数来实现渲染模板。在学习过程中意外发现 Flask 下包含了一个与其命名非常相似的 template_rendered
函数。十分的好奇,查了一下文档,文档是这么写的:
flask.template_rendered
This signal is sent when a template was successfully rendered.
The signal is invoked with the instance of the template as template and the context as dictionary (named context).
看来应该是在模板成功渲染后返回一个字典。
但是文档里写的具体使用场景我不是非常理解,所以想请教各位一下,究竟这个函数应在什么情况下使用,该怎么使用呢?
from flask import template_rendered
from contextlib import contextmanager
@contextmanager
def captured_templates(app):
recorded = []
def record(sender, template, context, **extra):
recorded.append((template, context))
template_rendered.connect(record, app)
try:
yield recorded
finally:
template_rendered.disconnect(record, app)
阿神2017-04-18 09:43:06
Ini ialah isyarat yang akan dilaksanakan apabila templat dipaparkan. Anda boleh melanggan isyarat ini untuk mendapatkan nilai yang dipulangkan.
ps: Selain daripada nyahpepijat, saya tidak dapat memikirkan sebarang situasi di mana ia akan digunakan.
PHPz2017-04-18 09:43:06
Isyarat
template_rendered
ialah isyarat teras Flask.
Isyarat ini akan dihantar apabila templat berjaya dipaparkan. Isyarat ini dipanggil dengan templat contoh templat dan kamus konteks (konteks bernama).
Blog ini menyediakan arahan khusus https://segmentfault.com/a/11...