본문 바로가기
장고 프레임워크

장고 기본 인증) 6 회원가입하자마자 로그인하기

by 문자메일 2020. 6. 22.

LoginView에서 form_valid()메서드에서 로그인 처리하는 auth_login 메서드 볼 수 있음.

login( )메서드를 auth_login으로 이름 바꿔서 사용하고 있는것 확인 가능

https://github.com/django/django/blob/master/django/contrib/auth/views.py

 

https://github.com/django/django/blob/master/django/contrib/auth/__init__.py

에서 login 처리하는 메서드 구현된것 확인 가능.

 

 

 

이제 회원가입과 동시에 Login이 되게 하려면 아래처럼 auth_login() 메서드를 사용하면 된다.

그러기 위해서 인자로 (request, user)를 넘겨주어야 하는데 CreateView의 조상 클래스 ModelFormMixin의 form_valid() 함수에서 self.object=form.save() 를 호출하여 여기서는 회원가입을 하였으니 form에 입력된 User객체가 self.object에 저장됨을 알 수 있다.

따라서 아래처럼 form_valid( ) 함수를 오버라이드하고 부모의 form_valid( )함수를 호출한 후 얻은 user 객체로 auth_login( ) 함수를 호출하여 로그인 처리를 할 수 있게 된다.

 

 

https://github.com/django/django/blob/master/django/views/generic/edit.py

댓글