Django アプリで名前付き URL パターンを使用していますが、失敗しており、その理由がわかりません。ドキュメントに従っていますが、アプリが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 を使用しています。ティア。