django模板url - 将变量附加到字符串

时间:2018-01-08 10:09:17

标签: django

我试图将一个变量添加到一个字符串的末尾,并且遇到了反向匹配的问题,从我收集到的内容应该可以正常工作

{% for type in type_links %}
<li><a href="{% url 'sites:site_list' 'all_'|add:type.id %}">{{ type.subnet_type }}</a></li>
{% endfor %}

我的网址应该是&#34; all_1&#34;例如,在其中。

然而我收到了反向网址错误

Reverse for 'site_list' with arguments '('',)' not found. 1 pattern(s) tried: ['sites/site_list/(?P<display_filter>[\\w\\-]+)$']

这是添加变量以结束字符串的正确方法吗?

编辑: url模式,模式工作,因为我在尝试创建URL dyanmically之前手动测试它

url(r'^site_list/(?P<display_filter>[\w\-]+)$', views.site_list, name='site_list'),

由于

1 个答案:

答案 0 :(得分:1)

你可以做到

{% for type in type_links %}
<li>
    {% with type.id|stringformat:"s" as str_obj_id %}
      {% with 'all_'|add:str_obj_id as extra_param %}
        <a href="{% url 'sites:site_list' extra_param %}">{{ type.subnet_type }}</a>
      {% endwith %}
   {% endwith %} 
</li>
{% endfor %}