Search

Django에서 유저 비밀번호 생성해보기

카테고리
Back-end
태그
Django
게시일
2024/11/28
수정일
2024/11/28 09:15
시리즈
1 more property

1. Intro

Django로 서버를 구동하는 상태에서 유저 생성 API가 없거나 별도 유저를 생성하는 기능을 만들지 않았을 때 어떻게 유저를 관리해야할까, 고민해야 하는 이슈를 경험했습니다. 아주 짧은 시간이었지만 당장 유저를 만들어 테스트를 해보고 싶을 때 유용한 방법을 공유해볼까 합니다.
활용해볼 수 있는 방법은 Django shell을 활용하는 방법과 간단히 코드를 작성해보는 방법이 있습니다.

2. Django Shell

run django shell

settings 디렉토리로 local, development 등을 분리하였을 때
python manage.py shell --settings=[project_name].settings.local
Shell
복사
settings.py 하나로 설정을 관리할 경우
python manage.py shell
Shell
복사

create user and set password

django shell을 실행했다면, 유저를 임의로 생성하여 암호화된 비밀번호를 얻을 수 있습니다.
>>> from project_name.users.models import User >>> user = User() >>> user.set_password("test") >>> user.password 'pbkdf2_sha256$720000$EHHlJIrOpeFjm9nKwrJhgu$KejqX2LLpx406aqXjgToLVaGd4p3CR3N2VvwqT5IbII='
Shell
복사

3. Make password

simply make password

위와 같이 django shell을 실행할 수 없는 환경이라면 아래와 같이 임의로 비밀번호를 생성해줄 수 있습니다.
from django.contrib.auth.hashers import make_password from django.conf import settings settings.configure(SECRET_KEY="SOMETHING_YOUR_SECRET_KEY") password = make_password("YOUR_PW") print(f"PASSWORD : {password}")
Python
복사
위 코드드를 실행하면 아래와 같이 SECRET_KEY에 대한 비밀번호를 생성해줄 수 있습니다.
PASSWORD : pbkdf2_sha256$720000$L50NIzZjp3iK4DIlPUvAf7$vyhawncEfucAtFhi103GFKb6AVj64IGIZMZCmqdM0rE=
Shell
복사