Django 비밀번호 변경

Salman Mehmood 2024년2월15일
Django 비밀번호 변경

Django 웹페이지에 로그인한 후 사용자가 비밀번호를 변경할 수 있는 웹페이지를 만드는 방법을 배웁니다.

Django에서 사용자가 비밀번호를 변경할 수 있는 웹페이지 만들기

예를 들어 Django에 프로젝트가 있고 사용자 애플리케이션이 있는 이 프로젝트에서 작업할 것입니다. 이 앱에서 view.py 파일을 찾았고 필요한 두 개의 보기를 가져와야 합니다.

그 중 하나는 PasswordChangeView라고 하며 암호를 변경할 수 있으며 PasswordResetDoneView는 암호가 재설정되었는지 확인합니다.

이제 PasswordChangeView에서 상속할 MyPasswordChangeView라는 클래스를 정의해야 합니다. 이 클래스 내에서 template_name 변수를 선언하고 사용자가 비밀번호를 변경할 템플릿 URL을 저장합니다.

success_url 변수에 reverse_lazy() 변수를 넣어야 합니다. 코드 아래에서 MyPasswordResetDoneView라는 또 다른 클래스를 만들고 PasswordResetDoneView에서 상속해야 합니다.

이 클래스 내에서 template_name 변수만 선언하고 이 template_name 변수에 대한 템플릿 경로를 저장합니다. 그런 다음 저장하고 url.py 파일에 이러한 보기를 등록해야 합니다.

view.py 파일:

from django.shortcuts import render
from django.urls import reverse_lazy
from django.contrib.auth.views import PasswordChangeView, PasswordResetDoneView


class MyPasswordChangeView(PasswordChangeView):
    template_name = "users/password-change.html"
    success_url = reverse_lazy("users:password-change-done-view")


class MyPasswordResetDoneView(PasswordResetDoneView):
    template_name = "users/password-reset-done.html"

사용자 애플리케이션 내부에 url.py 파일을 생성한 다음 생성한 파일로 보기를 가져옵니다.

그런 다음 app_name이라는 변수를 만들고 앱 이름인 users와 동일한 변수를 만들어야 합니다. 줄 아래에 보기를 URL과 통합할 urlpatterns 목록을 만듭니다.

변수와 urlpatterns 생성

템플릿을 생성할 것이지만 다른 곳으로 이동하기 전에 urls.py 파일에 기본 프로젝트의 urlpatterns에 대한 사용자 경로를 포함해야 합니다. 사용자를 위해 movies 아래에 새 경로를 만들고 namespace는 앱과 일치해야 합니다. 코드를 작성한 후 저장하십시오.

urls.py 파일의 urlpatterns

이제 사용자 앱으로 돌아가서 여기에서 templates 폴더를 만들어 보겠습니다. templates 안에 users라는 또 다른 폴더를 만듭니다. users 폴더에서 view.py 파일 내에 정의한 두 개의 HTML 파일을 생성해야 합니다.

password-change.html 파일에 대한 작업을 시작하므로 먼저 base.html에서 상속한 후 block title과 다음으로 구성될 block content를 설정합니다. 양식. form action을 비워두자. 메소드는 POST와 같으며, 이는 POST 요청을 처리한다는 의미입니다.

요청을 보낼 수 있도록 양식 안에 csrf_token을 넣어야 합니다. 버튼을 만들고 이 유형을 제출로 유지하고 클래스를 추가하여 녹색 버튼으로 만듭니다.

제목 차단 및 콘텐츠 차단

password-reset-done.html에 대해 작업하고 여기에서 다시 base.html 파일에서 상속해야 합니다. 이후에는 접근 방식이 동일하지만 구문이 약간 다릅니다.

그런 다음 href 속성을 작성하고 홈 보기에 대한 경로 이름을 제공하여 사용자가 이 버튼을 눌러 연락할 수 있도록 합니다.

href 속성

마지막으로 home.html로 이동하여 사용자가 암호를 변경할 페이지에 액세스할 수 있는 버튼을 만듭니다.

비밀번호 변경 버튼

서버가 실행 중이고 홈 페이지를 통해 비밀번호를 변경해 보겠습니다. 로그인 후 사용자가 비밀번호를 변경할 수 있음을 알 수 있습니다.

비밀번호 출력 변경

Salman Mehmood avatar Salman Mehmood avatar

Hello! I am Salman Bin Mehmood(Baum), a software developer and I help organizations, address complex problems. My expertise lies within back-end, data science and machine learning. I am a lifelong learner, currently working on metaverse, and enrolled in a course building an AI application with python. I love solving problems and developing bug-free software for people. I write content related to python and hot Technologies.

LinkedIn

관련 문장 - Django Password