I'm probably doing something stupid here but I can't see it. I'm trying to
implement password change and reset using auth, and I'm getting a "No
Reverse Match" error for the password_reset_done view. Normally that would
mean that I forgot to creaste a url that calls this view, but I have, and
other views in that block (like login) work fine.
So, in my main urls.py I have:
# Registration URLs
urlpatterns += patterns('',
url(r'^registration/', include('registration.urls',
namespace='registration')),
)
and there is no occurrence of 'registration' above this code in the urls.py.
Then, in the registration.urls.py:
from django.conf.urls import patterns, include, url
import django.contrib.auth.views
import registration.views
urlpatterns = patterns('',
url(r'^login/$', 'django.contrib.auth.views.login', {}, 'login'),
url(r'^logout/$', 'django.contrib.auth.views.logout', {}, 'logout'),
url(r'^password_change/$', 'django.contrib.auth.views.password_change',
{}, name='password_change'),
url(r'^password_change_done/$',
'django.contrib.auth.views.password_change_done',
{}, name='password_change_done'),
url(r'^password_reset/$', 'django.contrib.auth.views.password_reset',
{}, 'password_reset'),
url(r'^password_reset_done/$',
'django.contrib.auth.views.password_reset_done',
{}, 'password_reset_done'),
url(r'^password_reset_confirm/(?P<uidb36>.+)/(?P<token>.+)/$',
'django.contrib.auth.views.password_reset_confirm',
{}, 'password_reset_confirm'),
url(r'^password_reset_complete/$',
'django.contrib.auth.views.password_reset_complete',
{}, 'password_reset_complete'),
url(r'^profile/$', registration.views.profile, {}, 'profile'),
url(r'^profile/edit/$', registration.views.profile_edit, {},
'profile_edit'),
...
and you can see that a url that invoked password_reset_done actually exists.
But on going to the password reset page:
http://127.0.0.1:8000/registration/password_reset/ I get:
NoReverseMatch at /registration/password_reset/
Reverse for 'django.contrib.auth.views.password_reset_done' with arguments '()'
and keyword arguments '{}' not found.
Request Method: GET Request URL:
http://127.0.0.1:8000/registration/password_reset/ Django Version: 1.5.1
Exception
Type: NoReverseMatch Exception Value:
Reverse for 'django.contrib.auth.views.password_reset_done' with arguments '()'
and keyword arguments '{}' not found.
Exception Location:
/usr/local/lib/python2.7/dist-packages/django/core/urlresolvers.py
in _reverse_with_prefix, line 416 Python Executable: /usr/bin/python Python
Version: 2.7.3 Python Path:
['/home/peter/django-sites/simbiant/sched/django-src',
'/usr/local/lib/python2.7/dist-packages/pytz-2013b-py2.7.egg',
'/home/peter/django-sites',
'/home/peter/django-sites/simbiant/sched/django-src',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-linux2',
'/usr/lib/python2.7/lib-tk',
'/usr/lib/python2.7/lib-old',
'/usr/lib/python2.7/lib-dynload',
'/usr/local/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages/PIL',
'/usr/lib/python2.7/dist-packages/gst-0.10',
'/usr/lib/python2.7/dist-packages/gtk-2.0',
'/usr/lib/pymodules/python2.7',
'/usr/lib/python2.7/dist-packages/ubuntu-sso-client',
'/usr/lib/python2.7/dist-packages/ubuntuone-client',
'/usr/lib/python2.7/dist-packages/ubuntuone-control-panel',
'/usr/lib/python2.7/dist-packages/ubuntuone-couch',
'/usr/lib/python2.7/dist-packages/ubuntuone-installer',
'/usr/lib/python2.7/dist-packages/ubuntuone-storage-protocol']
Server time: Wed, 24 Jul 2013 15:21:45 +0930
Environment:
Request Method: GET
Request URL: http://127.0.0.1:8000/registration/password_reset/
Django Version: 1.5.1
Python Version: 2.7.3
Installed Applications:
('django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.admin',
'django.contrib.admindocs',
'django.contrib.flatpages',
'debug_toolbar',
'scheduler',
'registration')
Installed Middleware:
('django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'debug_toolbar.middleware.DebugToolbarMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware')
Traceback:
File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py"
in get_response
115. response = callback(request, *callback_args,
**callback_kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/utils/decorators.py" in
_wrapped_view
91. response = view_func(request, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/contrib/auth/views.py"
in password_reset
147. post_reset_redirect =
reverse('django.contrib.auth.views.password_reset_done')
File "/usr/local/lib/python2.7/dist-packages/django/core/urlresolvers.py"
in reverse
496. return iri_to_uri(resolver._reverse_with_prefix(view, prefix,
*args, **kwargs))
File "/usr/local/lib/python2.7/dist-packages/django/core/urlresolvers.py"
in _reverse_with_prefix
416. "arguments '%s' not found." % (lookup_view_s, args,
kwargs))
Exception Type: NoReverseMatch at /registration/password_reset/
Exception Value: Reverse for
'django.contrib.auth.views.password_reset_done' with arguments '()' and
keyword arguments '{}' not found.
Any ideas? Let me know if you think posting Settings or Meta would help.
Pretty sure this is going to be a facepalm...
Cheers,
Peter
--
You received this message because you are subscribed to the Google Groups
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/django-users.
For more options, visit https://groups.google.com/groups/opt_out.