https://github.com/django/django/tree/master/django
django/conf/global_settings.py
Django 기본 APP에서 LOGIN_URL의 default값은 아래에서 볼 수 있다.
(@login_required 장식자 달린 함수 호출할때 로그인 안되어 있으면 Default는 LOGIN_URL 주소로 이동함)
그래서 계정 관련 APP 이름을 accounts로 만들면 해당 설정값 변경 없이 사용할 수 있다.
####
Django의 기본앱에 contrib에 auth 앱에 Account 관련 소스들이 존재한다.
https://github.com/django/django/tree/master/django/contrib/auth
Django Auth App에 Default LoginView의 템플릿 이름은 아래 처럼 'registration/login.html' 이다
https://github.com/django/django/blob/master/django/contrib/auth/views.py
하지만 아래와 같이 인자를 주면 LoginView에서는 self.template_name 이라는 이름으로 'accounts/login.html' 값이 저장이 된다. 위에 코드에서 Class 영역인 template_name = 'registration/login.html'을 변경하는 것이 아니라 Instance 영역에 세팅하여 활용을 하게 되는 구조이다.
path('login/', LoginView.as_view(template_name='accounts/login_form.html'), name='login'),
위 같은 방법으로 Custom을 하여 사용할 수 있다.
그리고 accounts/login_form.html 만들고 위에 코드만 적고 로그인 하면 로그인이 된다.
하지만 action=''도 비어있고, 어떤 form이 넘어오는지 확인 필요하다. 정확히 왜 되는지 모르는 상태이다.
(https://github.com/django/django/blob/master/django/contrib/auth/views.py 의
LoginView 클래스에서 무언가 form을 넘기겠지?)
'장고 프레임워크' 카테고리의 다른 글
장고 기본 인증)05 회원가입 (0) | 2020.06.21 |
---|---|
장고 기본 인증 4) loginForm Custom (퀴즈를 맞춰야 로그인) (0) | 2020.06.21 |
5 - mixins 상속을 통한 APIView 로직 재사용 (0) | 2020.06.17 |
forms.py (0) | 2020.06.13 |
HINT: Add or change a related_name argument to the definition for 'Post.like_user_set' or 'Post.author'. (0) | 2020.06.11 |
댓글