私はかなり新しいのでFlask
、python
あまり判断しません:) を変更しようとしているresponse
ので、アプリケーションはレンダリングされたテンプレートのリストをフッターに表示します。私のget_rendered_templates
機能は次のとおりです。
def get_rendered_templates(context):
from contextlib import contextmanager
@contextmanager
def rendered_templates(context):
templates = []
def add(sender, template, context):
assert False
templates.append((template, context))
template_rendered.connect(add, context)
try:
yield templates
finally:
template_rendered.disconnect(add, context)
with rendered_templates(context) as templates:
return templates
これは私がドキュメンテーションで見つけたものでFlask
、わずかに変更されています。
いずれにせよ、この関数は を返しますNone
。add
関数は実行されません (またはアプリケーションは のために終了しますassert False
)。
私のafter_request
:
@app.after_request
def after_request(response):
rendered_templates = get_rendered_templates(app)
templates_list = "<br />".join(["%s" % template for (template, context) in rendered_templates ])
response.data = "%(current)s <br /> temsplates: %(templates)s" % {'current': response.data, 'templates' : templates_list }
return response
私が間違っていることは何ですか?私がしていることをする正しい方法は何ですか?