我在我的 Django 应用程序中使用命名的 url-patterns,但它失败了,我不知道为什么。我已关注文档,但我的应用程序在读取urls.py时出错。
这有效:
网址.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),
)
但这失败了:
网址.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。