What I Learned
TIL_20221014_장고 로그인 유저 체크
오베르
2022. 10. 14. 23:26
오늘의 트러블 슈팅
1. 문제점
- 장고에서 로그인 후 로그인 여부를 체크하고 로그인 유저가 아닐 경우에 로그인 화면으로 redirect 해야하는 상황에서 로그인 유저를 체크하는 방법을 제대로 구현하지 못했었음
2. 몰랐었던 것 (+ 시도)
- 로그인 함수에서 redirect 로 home 화면으로 보내고 home 함수에서 user 를 받아오는 것을 잘못 가져옴
아래처럼 유저 값을 받아오고 나서는 유저가 없는 것을 설정한다든지 잘못 이해함
user = request.POST.get(request.user)
if user is None:
return redirect('user:login')
3. 어떻게 해결했는지
if request.user.is_authenticated:
return render(request, 'home.html')
장고의 authenticate 로 login이 잘되었는지 체크해서 확인
참조:
이거 외에도 좋지는 않은 방법이나 시도해봤던 솔루션
user = request.user
users = User.objects.all()
if user in users:
return render(request, 'home.html')
elif request.user is not users:
return redirect('user:login')
모든 유저를 다 갖고 와서 비교하는 거라 좋은 방법이 아님
4. 이로부터 배운 것
장고의 로그인을 체크하는 방법에 대해서 배움
오늘 한 일
1. 파이썬 공부
2. 장고 연습