18 python django django-templates django-urls
我想做什么(对于最近更改'小部件' - 在这种情况下不是django小部件)是将urlname作为变量传递到我的模板中,然后像这样使用它:{% url sitechangeobject.urlname %}其中urlname是包含有效名称的字符串为了一个网址.
这可能吗?该模板一直打破说它无法找到sitechangeobject.urlname作为名称(这是非常正确的,它不存在).有没有办法让它看到变量?
如果没有其他方法可以解决这个问题,只是想我会检查.
谢谢!
mes*_*shy 29
从Django 1.3开始,{% url %}标签正确支持:
{% url view_name_variable %}
{% url 'view_name_string' %}
Run Code Online (Sandbox Code Playgroud)
...这成为Django 1.5中的默认行为.
以前,您只能选择执行此操作:
{% url view_name_string %}
Run Code Online (Sandbox Code Playgroud)
要在Django 1.3和1.4项目中以这种方式使标记工作,您需要在您使用它的每个模板的顶部使用以下行:
{% load url from future %}
Run Code Online (Sandbox Code Playgroud)
...在Django 1.5中,旧行为将被新行为所取代.为确保与Django的未来版本兼容,应修改现有模板以使用新的未来库和语法.
请注意,{% load url from future %}Django 1.9中已删除了对支持的支持.
注意:这个答案只与1.3之前的django版本有关.如果您使用的是django 1.3或更高版本,则内置所需的功能 - 请参阅meshy的答案.
内置url标记无法执行此操作.然而,django-reversetag确实如此(以及更多).
根据自述文件,reverse此代码提供的标签提供:
| 归档时间: |
|
| 查看次数: |
11601 次 |
| 最近记录: |