Rumah  >  Soal Jawab  >  teks badan

python - flask 中的 template_rendered 函数

一个 Flask 初学者的疑问。

大家都知道在 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)
PHP中文网PHP中文网2741 hari yang lalu557

membalas semua(2)saya akan balas

  • 阿神

    阿神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.

    balas
    0
  • PHPz

    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...

    balas
    0
  • Batalbalas