Рубрики
Без рубрики

Сброс пароля просмотров в Django

Django поставляется с возможностью пользователей получить запрос электронной почты для сброса своего пароля … Теги с Python, Django, CodeNewie.

Django поставляется с возможностью пользователей получить запрос электронной почты для сброса пароля, когда они забывают его, используя встроенные представления сброса пароля. Это работает через простой протокол передачи почты (SMTP). В этой статье мы будем использовать Gmail в качестве нашего поставщика услуг хоста.

Во-первых, перейдите к settings.py и настроить наши параметры SMTP.

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = ''
EMAIL_HOST_PASSWORD = ''
EMAIL_USE_TLS = True

Обратите внимание, что представления по умолчанию Django предоставляют это представления на основе классов. В URLS.PY Мы будем импортировать взгляды первым:

from django.contrib.auth import views as auth_views

Далее, в пределах URLPatterns нашего URLS.PY , нам нужно добавить следующие пути:

urlpatterns = [
  path('reset_password/', auth_views.PasswordResetView.as_view(), name ='reset_password'),
  path('reset_password_sent/', auth_views.PasswordResetDoneView.as_view(), name ='password_reset_done'),
  path('reset//', auth_views.PasswordResetConfirmView.as_view(), name ='password_reset_confirm'),
  path('reset_password_complete/', auth_views.PasswordResetCompleteView.as_view(), name ='password_reset_complete'),
]

ЗАМЕТКА: Имена путей должны быть точно так, как названы выше, потому что это имена Django ожидает. Это означает, что имена должны быть: 1) RESET_PASSWORD , 2) Password_reset_done , 3) password_reset_confirm 4) и password_reset_complete

Кроме того, обратите внимание, что Django предоставляет нам шаблоны по умолчанию для всех четырех маршрутов, мы можем продолжать настроить это, добавив в наши собственные созданные имена шаблонов. Мы создадим четыре новые шаблоны для рендеринга каждого маршрута URL и добавляют имена в методе AS.View ().

Мы назваем наши шаблоны следующим образом: 1) RESET_PASSWORD.HTML 2) Password_reset_sent.html 3) Password_reset_form.html 4) Password_reset_done.html.

Далее добавьте их как Имя Шаблона :

urlpatterns = [
  path('reset_password/', auth_views.PasswordResetView.as_view(template_name = "reset_password.html"), name ='reset_password'),
  path('reset_password_sent/', auth_views.PasswordResetDoneView.as_view(template_name = "password_reset_sent.html"), name ='password_reset_done'),
  path('reset//', auth_views.PasswordResetConfirmView.as_view(template_name = "password_reset_form.html"), name ='password_reset_confirm'),
  path('reset_password_complete/', auth_views.PasswordResetCompleteView.as_view(template_name = "password_reset_done.html"), name ='password_reset_complete')
]

Наконец, давайте загрузимся в наши шаблоны

A) В пределах RESET_PASSWORD.HTML мы проходим по мнению, используя {{form}} Поскольку это параметр по умолчанию, который ожидает Django.

{extends 'base.html' %} 
{% block content %}

Welcome to the Password Reset Page

Forgot your password? Please enter the email address you used to register with us and we will send you a link to reset your password


{% csrf_token %} {{form}}

{% endblock%}

B) В Password_reset_sent.html.

{% extends 'base.html' %} 
{% block content%}

Password reset sent

We've emailed you instructions for setting your password, if an account exists with the email you entered. You should receive them shortly.

If you don't receive an email, please make sure you've entered the address you registered with, and check your spam folder.
{% endblock%}

C) В-третьих, мы визуализировать наши Password_reset_form.html.

{% extends 'base.html' %} 
{% block content%}

Password Reset Form

Please enter your new password so we can verify.

{% csrf_token %} {{form}}
{% endblock%}

D) Наконец, внутри, Password_reset_done.html.

{% extends 'base.html' %} 
{% block content%}

Password reset complete

Your Password has been set. You may go ahead and login

{% endblock%}

В заключение при использовании Gmail вы можете получить ошибку аутентификации SMTP. Простое решение этого предназначено для активации опции «менее безопасных приложений» под настройками Gmail.

Оригинал: “https://dev.to/yahaya_hk/password-reset-views-in-django-2gf2”