본문 바로가기

Back-end/Django

Django Blog 만들기 - Part 12 : 이메일로 비밀번호 찾기

1. 이메일기능 추가하기

-django_project.urls.py 이동한다

-pasword-reset path 추가해준다.

	path('password-reset/',	
		auth_views.PasswordResetView.as_view(
		template_name='users/password_reset.html'
		),
		name='password_reset'),

-Users.templates.users.password_rest.html 생성해준다.

-login 페이지에서 복사하여 붙여넣어준다.

 

 

 

-django_project.urls.py 이동한다

-pasword-reset/done path 추가해준다.

	path('password-reset/done/',	
		auth_views.PasswordResetDoneView.as_view(
		template_name='users/password_reset_done.html'
		),
		name='password_reset_done'),
	
	
	-Users.templates.users.password_rest_done.html 을 생성해준다.
	{% extends "blog/base.html" %}	
		{% block content %}
		<div class="alert alert-info">
		An email has been sent with instructions to reset your password
		</div>
		{% endblock content %}

 

-Users.templates.users.password_rest_done.html 생성해준다.

	{% extends "blog/base.html" %}	
		{% block content %}
		<div class="alert alert-info">
		An email has been sent with instructions to reset your password
		</div>
		{% endblock content %}

 

-django_project.urls.py 이동한다

-pasword-reset-confirm path 추가해준다.

	path('password-reset-confirm/<uidb64>/<token>/',	
		auth_views.PasswordResetConfirmView.as_view(
		template_name='users/password_reset_confirm.html'
		),
		name='password_reset_confirm'),

 

-Users.templates.users.password_rest_confirm.html 생성해준다.

 

2. Django_project.setting.py 아래와같이 코드를 추가한다.

	EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'	
		EMAIL_HOST = 'smtp.gmail.com'
		EMAIL_PORT = 587
		EMAIL_USE_TLS = True
		EMAIL_HOST_USER = os.environ.get('EMAIL_USER')
		EMAIL_HOST_PASSWORD = os.environ.get('EMAIL_PASS')

 

  • 로컬 이메일세팅은 해당사이트를 참고해서 만들 있다.

https://docs.djangoproject.com/en/2.1/topics/email/#configuring-email-for-development

 

-서버에 접속해 password리셋메일을 보내고 매일이 온지 확인한다.

 

 

 

-django_project.urls.py 이동한다

-pasword-reset-complete path 추가해준다.

	path('password-reset-complete/',	
		auth_views.PasswordResetCompleteView.as_view(
		template_name='users/password_reset_complete.html'
		),
		name='password_reset_complete'),
		path('', include('blog.urls')),

-Users.templates.users.password_rest_complete.html 생성해준다.

 

3. Users.templates.users.login.html 추가해준다.