我有base_template.html
使用上下文变量my_context_var
。我的所有其他模板都扩展了这个基本模板。你能帮我回答其中一个问题吗? (它们只是看待相同潜在问题的不同方式)
如何使my_context_var
可用于所有衍生模板,但允许为特定视图覆盖my_context_var
。
只有当该变量不存在时,我才能将my_context_var
注入模板上下文。
基本上,我正在为上下文变量寻找setdefaults()功能。如果有帮助,my_context_var
基本上是一个空白的搜索表单,可以在我的网站的大多数页面中使用。我需要覆盖一个显示表单和结果的页面。目前的问题是,即使是那个结果页面,我仍然会得到空白表格。
答案 0 :(得分:1)
答案 1 :(得分:0)
由于它应该适用于您的所有观看,因此最佳选择是create a custom context processor。 Templatetags的缺点是你必须在需要这个变量的地方包含它们。创建自己的RequestContext
作为D.A.在我看来,这说得太过分了。
答案 2 :(得分:0)
如果要在模板中设置变量(但仅当它尚不存在时),以下内容应该有效:
{% with my_context_var=my_context_var|default:"Value you want to set it to" %}
{# The variable is accessible within then with block #}
{{ my_context_var }}
{% endwith %}