Tôi gặp sự cố khi nhận mật khẩu_Reset_confirm bit hoạt động.NoReverseMatch trên 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, điều này bao gồm:
{% 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 %}
Nhưng rồi sau khi nộp email của tôi cho Reseting mật khẩu, tôi nhận được thông báo lỗi này cho thấy:
NoReverseĐóng tại/password_reset/Đảo ngược cho 'password_reset_confirm' với đối số '()' và đối số từ khóa '{' uidb36 ':' 1 ',' mã thông báo ':' 38d-b5ec0b2a2321f522f954 '}' không tìm thấy.
Tôi nghĩ vì điều này đang sử dụng xây dựng trong tầm nhìn, tôi sẽ không phải quan tâm đến bất cứ điều gì khác?
Cảm ơn lời khuyên,
Cập nhật:
Sau khi sử dụng đường dẫn đầy đủ, có vẻ như để làm việc. Tuy nhiên nó sẽ gửi hai email ra: và mỗi email có một liên kết khác nhau. Tại sao vậy? Và tôi đặt {{domain}} ở đâu? Cảm ơn
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/
Cập nhật 2
I figured it out. Chỉ trong trường hợp người khác có vấn đề này. Bạn cần phải thiết lập tên miền của bạn như là trang web cho ứng dụng của bạn:
Trong Quản trị hoặc django console:
>>> my_site = Site.objects.get(pk=1)
>>> my_site.domain = 'somedomain.com'
>>> my_site.name = 'Some Domain'
>>> my_site.save()
Vấn đề khác khiến bạn có thể nhận được hai email khi đặt lại nó, là bởi vì bạn có thể có nhiều tên người dùng được liên kết với cùng một địa chỉ email. Nó khá ngớ ngẩn. Đây là điều tiếp theo tôi phải giải quyết.
tôi nghĩ rằng bạn đang giả sử để chỉ định tên của màn hình thay vì tên của url. Một cái gì đó như '{% url 'django.contrib.auth.views.password_reset_confirm' ...%}' –
Có điều đó đã làm việc. Lạ lùng, bởi vì tôi đã sao chép từ tài liệu Django. Bây giờ có hai vấn đề còn lại, xin vui lòng xem câu hỏi cập nhật. Cảm ơn bạn – Houman
Cesar, tôi đã khắc phục hai vấn đề khác và cập nhật câu hỏi. Nếu bạn muốn đặt bình luận của bạn như một câu trả lời và tôi sẽ đánh dấu nó là câu trả lời. Cảm ơn – Houman