Django模板:在变量下面添加一些东西

时间:2018-04-26 10:58:27

标签: django django-templates

我有这个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,因为有很多模板。

如何在其他变量的位置/之前(下方/上方)“注入”片段?

1 个答案:

答案 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中)。

了解详情:own context processorscontext_processors