maj*_*dal 9 django django-urls
我正在尝试使用url模板标记:
{% url all-labs-map %}
Run Code Online (Sandbox Code Playgroud)
但是当我查看页面时,我收到此错误:
Caught NoReverseMatch while rendering: Reverse for 'all-labs-map' with arguments '()' and keyword arguments '{}' not found.
Run Code Online (Sandbox Code Playgroud)
当我像这样使用模板标签时:
{% url gmaps.views.all_labs %}
Run Code Online (Sandbox Code Playgroud)
它工作得很好.
这是URL conf:
urlpatterns = patterns('gmaps.views',
url(r'^lab_list/$', 'all_labs', name="all-labs-map" ),
)
Run Code Online (Sandbox Code Playgroud)
我尝试使用django shell来查看命名URL是否存在问题,但是使用了
reverse('all-labs-map')
Run Code Online (Sandbox Code Playgroud)
返回正确的URL.
关于发生了什么的任何想法?
谢谢!
迈季
编辑:
我在ubuntu上使用django 1.2与nginx服务器和gunicorn和virtualenv.我在使用库加载的自定义标记时遇到了另一个问题,但即使我使用了正确的标记注册语法,也无法识别标记本身.任何想法将非常感谢!
这在Google搜索结果中仍然很高,但还没有人正确回答.关键是:
{% load url from future %}
Run Code Online (Sandbox Code Playgroud)
在Django 1.3之前,这是urltemplatetag 的语法:
{% url view_name arg1 %}
Run Code Online (Sandbox Code Playgroud)
在Django 1.5中,这将是语法:
{% url "view_name" arg1 %}
Run Code Online (Sandbox Code Playgroud)
从Django 1.3开始,旧版本可以工作,但会给你一个弃用警告,告诉你{% load url from future %}并切换到该模板标签的新版本,为Django 1.5做准备
| 归档时间: |
|
| 查看次数: |
1483 次 |
| 最近记录: |