0
votes

I am trying to use password reset of django

I am getting the following error after I have entered email for password reset

django.urls.exceptions.NoReverseMatch: Reverse for 'password_reset_confirm' not found. 'password_reset_confirm' is not a valid view function or pattern name.

my urls.py include

path(
        "dashboard/",
        include(("ami.dashboard.urls", "dashboard"), namespace="dashboard"),
    ),

my dashboard/urls.py is

from django.conf.urls import include, url
# from graphene_django.views import GraphQLView

# from django.contrib import admin
from django.contrib.auth import views as auth_views
from . import views as core_views
from .product.urls import urlpatterns as product_urls

urlpatterns = [

    url(r'^$', core_views.index, name='index'),
    url(r'^products/', include(product_urls)),
    # url(r'^login/$', auth_views.login, name='login'),
    url(r'^login/$', auth_views.login, {'template_name': 'dashboard/login.html'}, name='login'),
    url(r'^logout/$', auth_views.logout, {'next_page': '/'}, name='logout'),
    # url(r'^logout/$', auth_views.logout, name='logout'),
    # url(r'^admin/', admin.site.urls),
    url(r'^', include('django.contrib.auth.urls')),
    url(r'^password_reset/$', auth_views.password_reset, {
        'post_reset_redirect': '/dashboard/password_reset/done/'
        , 'template_name': 'registration/password_reset_form.html'},
        name='password_reset'),
    url(r'^password_reset/done/$', auth_views.password_reset_done,
        {'template_name': 'registration/password_reset_done.html'}, name='password_reset_done'),

    url(r'^reset/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,20})/$',
        auth_views.password_reset_confirm, {'template_name': 'registration/password_reset_confirm.html'},
        name='password_reset_confirm'),
    url(r'^reset/done/$', auth_views.password_reset_complete,
        {'template_name': 'registration/password_reset_complete.html'},
        name='password_reset_complete'),
]

error Traceback:

File "/usr/local/lib/python3.6/site-packages/django/contrib/staticfiles/handlers.py", line 66, in call

return self.application(environ, start_response)

File "/usr/local/lib/python3.6/site-packages/django/core/handlers/wsgi.py", line 146, in call

response = self.get_response(request)

File "/usr/local/lib/python3.6/site-packages/django/core/handlers/base.py", line 81, in get_response

response = self._middleware_chain(request)

File "/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py", line 37, in inner

response = response_for_exception(request, exc)

File "/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py", line 87, in response_for_exception

response = handle_uncaught_exception(request, get_resolver(get_urlconf()), sys.exc_info())

File "/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py", line 122, in handle_uncaught_exception

return debug.technical_500_response(request, *exc_info)

File "/usr/local/lib/python3.6/site-packages/django_extensions/management/technical_response.py", line 6, in null_technical_500_response

six.reraise(exc_type, exc_value, tb)

File "/usr/local/lib/python3.6/site-packages/six.py", line 693, in reraise

raise value

File "/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py", line 35, in inner

response = get_response(request)

File "/usr/local/lib/python3.6/site-packages/django/utils/deprecation.py", line 95, in call

response = self.get_response(request)

File "/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py", line 37, in inner

response = response_for_exception(request, exc)

File "/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py", line 87, in response_for_exception

response = handle_uncaught_exception(request, get_resolver(get_urlconf()), sys.exc_info())

File "/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py", line 122, in handle_uncaught_exception

return debug.technical_500_response(request, *exc_info)

File "/usr/local/lib/python3.6/site-packages/django_extensions/management/technical_response.py", line 6, in null_technical_500_response

six.reraise(exc_type, exc_value, tb)

File "/usr/local/lib/python3.6/site-packages/six.py", line 693, in reraise

raise value

File "/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py", line 35, in inner

response = get_response(request)

File "/usr/local/lib/python3.6/site-packages/django/utils/deprecation.py", line 95, in call

response = self.get_response(request)

File "/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py", line 37, in inner

response = response_for_exception(request, exc)

File "/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py", line 87, in response_for_exception

response = handle_uncaught_exception(request, get_resolver(get_urlconf()), sys.exc_info())

File "/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py", line 122, in handle_uncaught_exception

return debug.technical_500_response(request, *exc_info)

File "/usr/local/lib/python3.6/site-packages/django_extensions/management/technical_response.py", line 6, in null_technical_500_response

six.reraise(exc_type, exc_value, tb)

File "/usr/local/lib/python3.6/site-packages/six.py", line 693, in reraise

raise value

File "/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py", line 35, in inner

response = get_response(request)

File "/usr/local/lib/python3.6/site-packages/django/utils/deprecation.py", line 95, in call

response = self.get_response(request)

File "/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py", line 37, in inner

response = response_for_exception(request, exc)

File "/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py", line 87, in response_for_exception

response = handle_uncaught_exception(request, get_resolver(get_urlconf()), sys.exc_info())

File "/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py", line 122, in handle_uncaught_exception

return debug.technical_500_response(request, *exc_info)

File "/usr/local/lib/python3.6/site-packages/django_extensions/management/technical_response.py", line 6, in null_technical_500_response

six.reraise(exc_type, exc_value, tb)

File "/usr/local/lib/python3.6/site-packages/six.py", line 693, in reraise

raise value

File "/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py", line 35, in inner

response = get_response(request)

File "/usr/local/lib/python3.6/site-packages/django/utils/deprecation.py", line 95, in call

response = self.get_response(request)

File "/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py", line 37, in inner

response = response_for_exception(request, exc)

File "/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py", line 87, in response_for_exception

response = handle_uncaught_exception(request, get_resolver(get_urlconf()), sys.exc_info())

File "/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py", line 122, in handle_uncaught_exception

return debug.technical_500_response(request, *exc_info)

File "/usr/local/lib/python3.6/site-packages/django_extensions/management/technical_response.py", line 6, in null_technical_500_response

six.reraise(exc_type, exc_value, tb)

File "/usr/local/lib/python3.6/site-packages/six.py", line 693, in reraise

raise value

File "/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py", line 35, in inner

response = get_response(request)

File "/usr/local/lib/python3.6/site-packages/django/utils/deprecation.py", line 95, in call

response = self.get_response(request)

File "/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py", line 37, in inner

response = response_for_exception(request, exc)

File "/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py", line 87, in response_for_exception

response = handle_uncaught_exception(request, get_resolver(get_urlconf()), sys.exc_info())

File "/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py", line 122, in handle_uncaught_exception

return debug.technical_500_response(request, *exc_info)

File "/usr/local/lib/python3.6/site-packages/django_extensions/management/technical_response.py", line 6, in null_technical_500_response

six.reraise(exc_type, exc_value, tb)

File "/usr/local/lib/python3.6/site-packages/six.py", line 693, in reraise

raise value

File "/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py", line 35, in inner

response = get_response(request)

File "/usr/local/lib/python3.6/site-packages/django/utils/deprecation.py", line 95, in call

response = self.get_response(request)

File "/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py", line 37, in inner

response = response_for_exception(request, exc)

File "/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py", line 87, in response_for_exception

response = handle_uncaught_exception(request, get_resolver(get_urlconf()), sys.exc_info())

File "/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py", line 122, in handle_uncaught_exception

return debug.technical_500_response(request, *exc_info)

File "/usr/local/lib/python3.6/site-packages/django_extensions/management/technical_response.py", line 6, in null_technical_500_response

six.reraise(exc_type, exc_value, tb)

File "/usr/local/lib/python3.6/site-packages/six.py", line 693, in reraise

raise value

File "/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py", line 35, in inner

response = get_response(request)

File "/usr/local/lib/python3.6/site-packages/django/utils/deprecation.py", line 95, in call

response = self.get_response(request)

File "/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py", line 37, in inner

response = response_for_exception(request, exc)

File "/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py", line 87, in response_for_exception

response = handle_uncaught_exception(request, get_resolver(get_urlconf()), sys.exc_info())

File "/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py", line 122, in handle_uncaught_exception

return debug.technical_500_response(request, *exc_info)

File "/usr/local/lib/python3.6/site-packages/django_extensions/management/technical_response.py", line 6, in null_technical_500_response

six.reraise(exc_type, exc_value, tb)

File "/usr/local/lib/python3.6/site-packages/six.py", line 693, in reraise

raise value

File "/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py", line 35, in inner

response = get_response(request)

File "/usr/local/lib/python3.6/site-packages/django/utils/deprecation.py", line 95, in call

response = self.get_response(request)

File "/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py", line 37, in inner

response = response_for_exception(request, exc)

File "/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py", line 87, in response_for_exception

response = handle_uncaught_exception(request, get_resolver(get_urlconf()), sys.exc_info())

File "/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py", line 122, in handle_uncaught_exception

return debug.technical_500_response(request, *exc_info)

File "/usr/local/lib/python3.6/site-packages/django_extensions/management/technical_response.py", line 6, in null_technical_500_response

six.reraise(exc_type, exc_value, tb)

File "/usr/local/lib/python3.6/site-packages/six.py", line 693, in reraise

raise value

File "/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py", line 35, in inner

response = get_response(request)

File "/usr/local/lib/python3.6/site-packages/django/core/handlers/base.py", line 128, in _get_response

response = self.process_exception_by_middleware(e, request)

File "/usr/local/lib/python3.6/site-packages/django/core/handlers/base.py", line 126, in _get_response

response = wrapped_callback(request, *callback_args, **callback_kwargs)

File "/usr/local/lib/python3.6/contextlib.py", line 52, in inner

return func(*args, **kwds)

File "/usr/local/lib/python3.6/site-packages/django/views/generic/base.py", line 69, in view

return self.dispatch(request, *args, **kwargs)

File "/usr/local/lib/python3.6/site-packages/django/utils/decorators.py", line 62, in _wrapper

return bound_func(*args, **kwargs)

File "/usr/local/lib/python3.6/site-packages/django/utils/decorators.py", line 142, in _wrapped_view

response = view_func(request, *args, **kwargs)

File "/usr/local/lib/python3.6/site-packages/django/utils/decorators.py", line 58, in bound_func

return func.get(self, type(self))(*args2, **kwargs2)

File "/usr/local/lib/python3.6/site-packages/django/contrib/auth/views.py", line 407, in dispatch

return super().dispatch(*args, **kwargs)

File "/usr/local/lib/python3.6/site-packages/django/views/generic/base.py", line 89, in dispatch

return handler(request, *args, **kwargs)

File "/usr/local/lib/python3.6/site-packages/django/views/generic/edit.py", line 142, in post

return self.form_valid(form)

File "/usr/local/lib/python3.6/site-packages/django/contrib/auth/views.py", line 420, in form_valid

form.save(**opts)

File "/usr/local/lib/python3.6/site-packages/django/contrib/auth/forms.py", line 297, in save

email, html_email_template_name=html_email_template_name,

File "/usr/local/lib/python3.6/site-packages/django/contrib/auth/forms.py", line 244, in send_mail

body = loader.render_to_string(email_template_name, context)

File "/usr/local/lib/python3.6/site-packages/django/template/loader.py", line 62, in render_to_string

return template.render(context, request)

File "/usr/local/lib/python3.6/site-packages/django/template/backends/django.py", line 61, in render

return self.template.render(context)

File "/usr/local/lib/python3.6/site-packages/django/template/base.py", line 175, in render

return self._render(context)

File "/usr/local/lib/python3.6/site-packages/django/test/utils.py", line 98, in instrumented_test_render

return self.nodelist.render(context)

File "/usr/local/lib/python3.6/site-packages/django/template/base.py", line 943, in render

bit = node.render_annotated(context)

File "/usr/local/lib/python3.6/site-packages/django/template/base.py", line 910, in render_annotated

return self.render(context)

File "/usr/local/lib/python3.6/site-packages/django/template/defaulttags.py", line 37, in render

output = self.nodelist.render(context)

File "/usr/local/lib/python3.6/site-packages/django/template/base.py", line 943, in render

bit = node.render_annotated(context)

File "/usr/local/lib/python3.6/site-packages/django/template/base.py", line 910, in render_annotated

return self.render(context)

File "/usr/local/lib/python3.6/site-packages/django/template/defaulttags.py", line 447, in render

url = reverse(view_name, args=args, kwargs=kwargs, current_app=current_app)

File "/usr/local/lib/python3.6/site-packages/django/urls/base.py", line 88, in reverse

return iri_to_uri(resolver._reverse_with_prefix(view, prefix, *args, **kwargs))

File "/usr/local/lib/python3.6/site-packages/django/urls/resolvers.py", line 632, in _reverse_with_prefix

1
Post whole error message with traceback. Also post your main urls.py and the template that causes the exception. - Selcuk
@Selcuk Does this help?? - Aakash Patel
when this error occur? - seuling
@seuling: It occurs after I enter email for sending the password reset link - Aakash Patel
I think @kristaps wrote right answer - seuling

1 Answers

2
votes

You're specifying a namespace - "dashboard" for the URLs you're including:

include(("ami.dashboard.urls", "dashboard"), namespace="dashboard"),

In this situation you need to include the namespace when reversing an URL, try:

reverse('dashboard:password_reset_confirm')

And in templates you would use:

{% url 'dashboard:password_reset_confirm' %}

More information in the Django docs: Reversing namespaced URLs