如何使用Django / Jinja2使dict始终可用于特定模板?

时间:2017-12-15 12:34:40

标签: django jinja2

我有一个模板(使用jinja2),用于很多视图(通过{%include%}语句)。模板将始终需要(在其他数据中更改,并将通过上下文传递)dict,这是一个常量。在可能使用模板的每个视图中将dict添加到上下文中会很麻烦。

我可以在dinja2 env.globals中添加dict作为全局变量,但这似乎也不是一个特别好的主意。它只需要在一个应用程序中的一个模板中,而不是整个项目中。

Jinja2文档提到了特定于特定模板的模板全局变量,但我无法弄清楚如何使用Django实现它。

任何帮助表示感谢,谢谢:)

编辑:一些额外的背景。

该模板提供了许多其他html文档中使用的信息(通过include标记)。线条和多边形的位置相同,但颜色不同。我并不特别想要对所有x1=”20” x2=”30”等进行硬编码,因此将所有这些存储在dict中会很有用,并执行以下操作:

{# Template to be included #}
<svg class="a" width="200px" height="200px" viewBox="0 0 100 100" preserveAspectRatio="none">
{% for i in range(10) %}        
    <line {{dict_always_available[i]}} class="{{info_passed_in_context[i]}}"></line>
{% endfor %}
</svg>

我不想在每个可能(但不一定)需要它的视图中将dict_always_available传递到上下文中。

0 个答案:

没有答案