Django:动态构造{%include%}标记的值?

Django:动态构造{%include%}标记的值?,django,Django,我想在Django模板中使用{%include page.html%}标记,并动态构造page.html的值 在Django有没有办法做到这一点 下面是一个伪代码示例: {% include page_{{mode}}.html %} 谢谢 从文档中: 模板名称可以是 变量或硬编码(带引号) 字符串,可以是单字符串,也可以是双字符串 引用 因此,在视图中构造一个变量,并通过上下文将其传递给模板,比如说“modeTemplate”:“page_3;”+mode+“.html”。然后做: {% i

我想在Django模板中使用
{%include page.html%}
标记,并动态构造
page.html
的值

在Django有没有办法做到这一点

下面是一个伪代码示例:

{% include page_{{mode}}.html %}
谢谢

从文档中:

模板名称可以是 变量或硬编码(带引号) 字符串,可以是单字符串,也可以是双字符串 引用

因此,在视图中构造一个变量,并通过上下文将其传递给模板,比如说“modeTemplate”:“page_3;”+mode+“.html”。然后做:

{% include modeTemplate %}

假设“mode”是视图代码中的python变量。

您可以使用
标记和
添加
过滤器将模板中的普通字符串和变量连接起来,
看。

我认为这提供了一个更好的答案

总之:

您可以结合django的内置函数为变量分配动态构造的模板名称,并动态构造模板名称

例如:

 {% with template_name='page_'|add:mode|add:".html" %}
     {% include ""|add:template_name %}
 {% endwith %}