Под Джанго 1.8.Я добавил пространство имен в свое приложение, но теперь у меня проблемы с страницами регистрации.
URL: http://127.0.0.1:8000/accounts/password_reset/
в myapp / urls.py:
...
from django.contrib.auth.views import password_reset, password_reset_done
...
# include registration app urls
url(r'^accounts/', include('registration.urls')),
url(r'^accounts/password_reset/$', password_reset,
{'template_name': 'registration/password_reset.html'},
name='reset-password'),
url(r'^accounts/password_reset_success/$', password_reset_done,
{'template_name': 'registration/password_reset_done.html'},
name="password_reset_done"),
Ошибка:
NoReverseMatch at /accounts/password_reset/
Reverse for 'password_reset_done' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []
В проекте / urls / myapp.py:
url(r'^', include('myapp.urls',
namespace='myapp', app_name='myapp')),
в django.contrib.auth.views password_reset:
Если я заменю
if post_reset_redirect is None:
post_reset_redirect = reverse('password_reset_done')
else:
post_reset_redirect = resolve_url(post_reset_redirect)
if request.method == "POST":
** на **
if post_reset_redirect is None:
post_reset_redirect = reverse('myapp:password_reset_done')
else:
post_reset_redirect = resolve_url(post_reset_redirect)
if request.method == "POST":
Это работает.
Так что я думаю, что мне нужно где-то передать пространство имен URL-адресам регистраций.