我的 urls.py 中有这个:
urlpatterns = patterns('',
url(r'^ding/', include('ding.urls', namespace='ding', app_name='ding')),
这在我的 ding/urls.py 中:
urlpatterns = patterns('',
url(r'^$', views.sign_in, name='sign_in'),
url(r'^connect/$', views.connect, name='connect'),
url(r'^disconnect/$', views.disconnect, name='disconnect'),
#url(r'^disconnect/sign_in/$', RedirectView.as_view(url=reverse('sign_in')), name="disconnect_sign_in"),
url(r'^search$', views.search, name='search'),
url(r'^parsed_query/(?P<query>.+)/(?P<scroll_num>(\-|)\d+)/$', views.get_search_results, name='get_search_results'),
url(r'^parsed_query/', views.parsed_query, name='parsed_query'),
url(r'^parsed_query_redirect/', views.parsed_query_redirect, name='parsed_query_redirect'),
)
调用以下任意一项:
print reverse('sign_in', current_app='ding')
print reverse('connect', current_app='ding')
print reverse('disconnect', current_app='ding')
...
导致 NoReverseMatch 错误。
有什么建议吗?
最佳答案
reverse('ding:sign_in')
引用:https://docs.djangoproject.com/en/1.6/topics/http/urls/#topics-http-reversing-url-namespaces
确保您了解应用程序命名空间和实例命名空间之间的区别:
https://docs.djangoproject.com/en/1.6/topics/http/urls/#url-namespaces
我发现很少两者都需要(但是当然有很多用例需要它们)。
关于python - Django NoReverseMatch 命名空间错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19892259/