我知道您可以在模板中引用网址名称,这样您就无需在模板中硬编码,只要您想要更改它们。
例如,在模板中,我使用:
<a href="{% url 'urlname' parameter %}">The link</a>
我的问题是,如果我想传递一个更复杂的参数来在url正则表达式中使用。在我的例子中,我想传递由&#34; _&#34;分隔的两个字符串的串联。这些字符串来自Python对象,我不知道如何做到这一点。例如,让我们说这些字符串是用户的名字和姓氏。
我试过了:
<a href="{% url 'urlname' "user.firstname_user.lastname" %}">The link</a>
其他技巧但没有效果。
有人可以帮忙吗?
答案 0 :(得分:3)
简单地说,你不是。
您要么调整您的网址以拥有两个捕获组(这也需要稍微更改一下视图)
url(r'(?P<first_name>\w+)_(?P<last_name>\w+)/$', view_name, name='url_name')
{% url 'urlname' user.firstname user.lastname %}
或者你只是找到一个足够的网址。
答案 1 :(得分:0)
请查看此thread。假设您正在使用正位论证,那么对您来说是个好答案:
<a href="{% url 'urlname' parameter=user.firstname_user.lastname %}">The link</a>
假设你的网址是这样的:
url(r'^urlname/(?P<parameter>(catching regexp))$',...)