Tengo un problema para obtener el bit password_Reset_confirm funcionando.NoReverseMatch en password_Reset_confirm
url:
(r'^password_reset/$', 'django.contrib.auth.views.password_reset'),
(r'^password_reset_done/$', 'django.contrib.auth.views.password_reset_done'),
(r'^password_reset_confirm/(?P<uidb36>[0-9A-Za-z]+)-(?P<token>.+)/$', 'django.contrib.auth.views.password_reset_confirm'),
password_reset_email.html, que incluye lo siguiente:
{% load url from future %}
Someone asked for password reset for email {{ email }}. Follow the link below:
{{ protocol}}://{{ domain }}{% url 'password_reset_confirm' uidb36=uid token=token %}
Pero luego, después de la presentación de mi correo electrónico para resetear la contraseña, me sale este mensaje de error se muestra:
NoReverseMatch at/password_reset/Reverse for 'password_reset_confirm' con argumentos '()' y argumentos de palabra clave '{' uidb36 ':' 1 ',' token ':' 38d-b5ec0b2a2321f522f954 '}' no encontrado.
Pensé que dado que esto estaba usando una construcción a la vista, ¿no tendría que preocuparme por nada más?
Gracias por el consejo,
Actualización:
Después de usar la ruta completa, parece que funciona. Sin embargo, envía dos correos electrónicos: y cada uno tiene un enlace diferente. ¿Porqué es eso? ¿Y dónde configuro el {{dominio}}? Gracias
Follow the link below:
http://example.com/password_reset_confirm/1-38d-b5ec0b2a2321f522f954/
Follow the link below:
http://example.com/password_reset_confirm/2-38d-18482e1f129c84b9c2bc/
Actualización 2
lo he descubierto. Solo en caso de que alguien más tenga este problema. Es necesario configurar el nombre de dominio que el sitio para su aplicación:
En Admin o consola de Django:
>>> my_site = Site.objects.get(pk=1)
>>> my_site.domain = 'somedomain.com'
>>> my_site.name = 'Some Domain'
>>> my_site.save()
El otro problema por las que podría obtener dos mensajes de correo electrónico cuando restablecerlo, se debe a que se puede tener múltiples nombres de usuario asociados con la misma dirección de correo electrónico. Es bastante tonto. Esto es lo siguiente que tengo que enfrentar.
Creo que se supone que debe especificar el nombre de la vista en lugar del nombre de la URL. Algo así como '{% url 'django.contrib.auth.views.password_reset_confirm' ...%}' –
Sí que funcionó. Extraño, porque lo había copiado de la documentación de Django. Ahora quedan dos problemas, por favor vea la pregunta actualizada. Gracias – Houman
Cesar, solucioné los otros dos problemas y actualicé la pregunta. Si desea poner su comentario como respuesta, lo tildaré como respuesta. Gracias – Houman