python - 在 Django 1.4 中使用命名 url 模式会引发错误

标签 python django

我在 Django 应用程序中使用命名的 url-patterns,但它失败了,我不知道为什么。我已经关注了docs但我的应用程序在读取 urls.py 时出错。

有效:

urls.py

from django.conf.urls import patterns
from www.apps.newsletter.models import Newsletter
from www.apps.newsletter.views import index, detail

urlpatterns = patterns('',
    (r'^vol(?P<q_vol>\d+)/no(?P<q_no>\d+)/(?P<q_slug>[^.*]+)/$', detail),
    (r'^vol(?P<q_vol>\d+)/no(?P<q_no>\d+)/$', index),
    (r'^vol(?P<q_vol>\d+)/$', index),
    (r'^$', index),
)

但这失败了:

urls.py

from django.conf.urls import patterns
from www.apps.newsletter.models import Newsletter
from www.apps.newsletter.views import index, detail

urlpatterns = patterns('',
    (r'^vol(?P<q_vol>\d+)/no(?P<q_no>\d+)/(?P<q_slug>[^.*]+)/$', detail, name='newsletter-detail'),
    (r'^vol(?P<q_vol>\d+)/no(?P<q_no>\d+)/$', index),
    (r'^vol(?P<q_vol>\d+)/$', index),
    (r'^$', index),
)

我想使用命名 url 模式(这样我就可以在我的模板中使用 {% url %}),但 Django 似乎不想表现得很好。有任何想法吗?我所做的就是添加 arg name="" ,它会导致错误:

SyntaxError at /newsletter/

invalid syntax (urls.py, line 6)

此 urls.py 被父 urls.py 引用:

urlpatterns = patterns('',
    url(r'^grappelli/', include('grappelli.urls')),
    url(r'^admin/', include(admin.site.urls)),
    url(r'^software/', include('www.apps.software.urls')),
    url(r'^newsletter/', include('www.apps.newsletter.urls')),
)

我使用的是 Django 1.4 版本。 TIA。

最佳答案

您需要使用the url function使用 name 参数:

url(r'^vol(?P<q_vol>\d+)/no(?P<q_no>\d+)/(?P<q_slug>[^.*]+)/$', detail, name='newsletter-detail'),

换句话说,使用元组和 url 函数之间是有区别的。

顺便说一句,您不需要命名 url 模式来使用 url 模板标记,您可以只使用 View 的路径,即 {% url "app. views.myview"%}

关于python - 在 Django 1.4 中使用命名 url 模式会引发错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12063511/

相关文章:

python - 多对多关系。 ORM Django

Python Splinter 单击表条件中的链接

python - ().is_integer() 不工作

python - Tensorflow - 矩阵中点的欧几里德距离

Django Rest Framework JWT 400 错误请求

python - 安装 Django 时出错

python - 在哪里可以看到可以传递给 scipy.signal.cwt 的内置小波函数列表?

python - 在 python 中将制表符分隔文件编写为 json 对象

jquery - 如何使用 django 和 JSONP 从我的其他网站加载内容?

python - Django Imagekit - 如何获取不在模板中的url?