我有这个html django模板:
{{ header }}
{{ content }}
{{ footer }}
这意味着上下文采用以下变量:header,content,footer。
有没有这样的事情:
Template(...).render(
dict(header='foo', content='bar', footer='blu',
content__post='this should be between content and footer')
所需的结果:
foo
bar
this should be between content and footer
blu
我不想修改所有模板以包含content__post
,因为有很多模板。
如何在其他变量的位置/之前(下方/上方)“注入”片段?
答案 0 :(得分:2)
只需将内容添加到content
内,然后就可以了。如果您希望它完全自动化,可以使用上下文处理器完成此操作。
def add_something(context):
if somecondition_maybe:
context['content'] += "some more content to be added"
return context
然后将your_app.context_processors.add_something
添加到模板上下文处理器中(在settings.py
中)。