我想要做的是允许不同但非常相似的视图使用相同的模板。有一个url引用,它们之间唯一不同的是反向调用的后半部分。使用下面的示例,我得到一个NoReverseMatch
,如果不接受下面的代码,这是有意义的。
{% url outer:{{suffix}} %}
实现这一目标的正确方法是什么?还是我牺牲了简洁,写出了网址?
我正在使用Django 1.4
答案 0 :(得分:1)
您可以使用'with'构建网址,然后将其传递给网址模板标记:
{% with 'outer:'|add:suffix as link_url %}
<a href="{% url link_url %}">link</a>
{% endwith %}
UPD:要使django 1.4正常运行,您应该添加{% load url from future %}
,如下所示:
my_template.html:
{% load url from future %}
{% url 'outer:'|add:suffix %}
应正确打印您的网址。注意,你不应该用''包装后缀,因为它是变量。
答案 1 :(得分:-3)
我建议您改为创建templatetag。这样,您就可以为模板标签提供后缀。
**尝试将其包装在引号中:{% url "outer:{{suffix}}" %}
。