将变量urlname传递给Django模板中的url标记

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (19)

我想要做的事情(对于最近的更改“小部件”--在本例中不是Django小部件)是将一个urlname作为变量传递到我的模板中,然后像这样使用它:{% url sitechangeobject.urlname %}其中urlname是包含url的有效名称的字符串。

这有可能吗?模板不断打破,说它找不到sitechangeobject.urlname作为一个名称(这是非常正确的,它不存在)。有什么办法让它在这个变量里面看吗?

如果不解决这个问题,还有其他的方法,我只是想检查一下。

谢谢

提问于
用户回答回答于

{% url view_name_variable %}
{% url 'view_name_string' %}

Django 1.5中的默认行为。

以前,只能选择这样做:

{% url view_name_string %}

要使标记在Django 1.3和1.4项目中以这种方式工作,需要在每个模板的顶部使用下面一行:

{% load url from future %}

请注意,对{% load url from future %}已经被移除在Django 1.9。

用户回答回答于

注意:这个答案只适用于1.3之前的Django版本。如果正在使用Django 1.3或更高版本,所需的功能是内置的

扫码关注云+社区