在Django模板中显示来自views.py的url变量

时间:2016-10-02 17:09:37

标签: python django

我想让 url 来自 views.py ,然后我可以将其作为变量传递给模板中的href标记。

views.py:

context {
    'urlLink': "{% url 'myapp:theURL' %}"
    ...
}

的index.html:

<a href="{{ urlLink }}" LINK 1 </a>

我有上述内容并且无效。我也试过<a href="{{ urlLink|escape }}" LINK 1 </a>但没有成功。

2 个答案:

答案 0 :(得分:2)

如果您需要在视图代码中使用与{% url %}模板标记类似的内容,Django会提供django.core.urlresolvers.reverse()reverse函数具有以下签名:

reverse(viewname, urlconf=None, args=None, kwargs=None)

所以在你的背景下:

context {
    'urlLink': reverse('viewname')
}

然后您可以在模板中使用:

<a href="{{urlLink}}">Link1</a>

答案 1 :(得分:1)

您需要reverse

context {
    'urlLink': "%s" % reverse('view_name')
}

您无法在views.py中使用{% url 'myapp:theURL' %},因为这是模板标记