계정 생성시 비활성화 하는 방법 문의 드립니다.
안녕하세요?
점프 투 장고를 보며 하나 둘 열심히 배우고 있습니다. 먼저 감사하다는 인사 드립니다 :)
질문이 있는데요, 계정 생성시 비활성화된 상태로 생성이 되고, 이후 관리자가 활성화 시켜주는 기능을 넣고 싶습니다.
구글링 해보니 'is_active' 속성을 false로 바꾸면 된다고 하는데,
어떻게 설정해줄 수 있는지 잘 모르겠습니다 ;; 여기저기 조금 바꿔봤는데 여전히 자동으로 활성화 되네요.
작성해주신 예제에서 is_active = False로 변경할 수 있는 방법 문의 드립니다.
감사드립니다.
ssungdang2 님 491
2021년 9월 12일 2:11 오후
1개의 답변이 있습니다. 1 / 1 Page
책은 아래와 같이 되어 있습니다.
def signup(request):
"""
계정생성
"""
if request.method == "POST":
form = UserForm(request.POST)
if form.is_valid():
form.save()
username = form.cleaned_data.get('username')
raw_password = form.cleaned_data.get('password1')
user = authenticate(username=username, password=raw_password) # 사용자 인증
login(request, user) # 로그인
return redirect('index')
else:
form = UserForm()
return render(request, 'common/signup.html', {'form': form})
위의 내용을 다음과 같이 수정하시면 될것 같은데요. (#변경
주석 처리부분)
테스트 해보지는 못했습니다.
def signup(request):
"""
계정생성
"""
if request.method == "POST":
form = UserForm(request.POST)
if form.is_valid():
user = form.save() # 변경
user.is_active = False # 변경
user.save() # 변경
username = form.cleaned_data.get('username')
raw_password = form.cleaned_data.get('password1')
user = authenticate(username=username, password=raw_password) # 사용자 인증
login(request, user) # 로그인
return redirect('index')
else:
form = UserForm()
return render(request, 'common/signup.html', {'form': form})
박응용 님
2021년 9월 12일 11:46 오후