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
복사