Sparta Coding Club/Today I Learned [TIL]

[TIL] #DAY - 031 - 로그인 기능 (내일배움캠프AI 3기, 풀지 못한 숙제(1))

양한마리 2022. 10. 17. 21:08
728x90



???? 프로젝트 다시 시작...

텀이 너무 빠른거 아닌가 싶을정도로 바로 돌아오는 강행군

여윽시 스파르타구나 싶은 스케줄ss

til 도 쓰라고해서 쓰는데 특강 들은데로 열심히 쓰고싶은데..

프로젝트 시작부터 기운이 쭉빠져서 못....

일단 프로젝트 먼저.. 화이팅해보다구..

화.이.팅!

 




 

오늘은 현재 내가 하고싶지만 못하는 기능들에대해서 적어보도록하겠다.

로그인 - 사용자 이름 또는 이메일로 로그인하기.

보통 장고의 기본 로그인 기능으로는 한가지로만 로그인이 가능하다 그래서 이걸 바꿔보는게 목표이다.
하지만 해당 기능은 너무 복잡하고 아무리 바꿔보려고해도 바뀌지않아서 이렇게 남겨본다.

def sign_in_view(request): #로그인
    if request.method == 'POST':
        id_email = request.POST.get('id_email', '')
        password = request.POST.get('password', '')

        user_email = authenticate(request, email=id_email, password=password) # 사용자 이메일로 불러오기
        if user_email is not None:  # 이메일로 저장된 사용자의 패스워드와 입력받은 패스워드 비교
            auth.login(request, user_email)
            print("이메일 로그인 성공!")
            return redirect('/')
        else:
            print("로그인 실패")
            return render(request,'accounts/sign_in.html',{'error':'이메일 혹은 패스워드를 확인 해 주세요'})  # 로그인 실패
    
    if request.method == 'GET':
        user = request.user.is_authenticated
        if user:
            return redirect('/')
        else:
            return render(request, 'accounts/sign_in.html')


def logout(request):   #로그아웃 함수
    auth.logout(request) # 인증 되어있는 정보를 없애기
    return redirect("/")

 


 

728x90
반응형