我有10个html文件,名称为1.html,2.html ..etc 我想要的是根据一个变量,某个文件应该包含在模板中。
e.g。
{% if foo.paid %}
{% include "foo/customization/{{ foo.id }}.html" %}
{% endif %}
这可能吗?导致在包含标记工作之前未翻译foo.id。结果它给出了一个错误。如何以不同的方式处理这个问题? 我应该为此创建自定义模板标记吗?
答案 0 :(得分:31)
您可以使用add filter和with statement来完成此操作。
{% if foo.paid %}
{% with template_name=foo.id|stringformat:"s"|add:".html" %}
{% include "foo/customization/"|add:template_name %}
{% endwith %}
{% endif %}
首先,您构建一个template_name
,其中包含foo.id
字符串格式与.html
连接在一起。然后将其传递给include
标记,与模板目录的路径连接。