이제 회원가입과 로그인 틀을 만들었으니 로그인에 대한 권한을 줄 차례입니다.
로그인이 안되었다면 로그인과 회원가입 버튼이 나타나게하며
로그인이 되었다면 회원가입과 로그인 버튼이 사라지게하며, 로그인 버튼이 로그아웃으로 바뀌어야 합니다.
이를 위해서 먼저 config의 settings.py에서 추가해주어야할 것이 있습니다.
#config.settings.py
# User enroll
AUTH_USER_MODEL = 'accounts.CustomUser'
#로그인 성공시 이동할 url
LOGIN_REDIRECT_URL = "/"
#로그인 해야 요청할 수 있는 view를 로그인 안하고 요청했을 때 이동할 URL
LOGIN_URL = '/accounts/login'
#로그아웃 성공시 이동할 url
LOGOUT_REDIRECT_URL = '/'
이제 외부에 있는 base.html을 만져줄 차례입니다.
user가 접속되지 않았을때(is_authenticated)와 그렇지 않은 경우로 나누어 줍니다.
인증되지 않았을 때 로그인과 회원가입 버튼이 뜨게하며 인증되었을 경우 로그아웃 버튼을 띄우도록 합니다.
<!-- templates/base.html-->
{% if not user.is_authenticated %}
<ul class='nav navbar-nav navbar-right'>
<a class="btn btn-warning my-2 my-sm-0" href = '/accounts/login' style="font-weight: bold">로그인</a>
</ul>
<ul class='nav navbar-nav navbar-right'>
<a class="btn btn-outline-warning my-2 my-sm-0" href = '/accounts/join'>회원가입</a>
</ul>
{% else %}
<ul class='nav navbar-nav navbar-right'>
<a class="btn btn-warning my-2 my-sm-0" href='/accounts/logout' style="font-weight: bold">로그아웃</a>
</ul>
{% endif %}
계정이 인증되지 않았을 경우
계정이 인증 된 경우
728x90
반응형
'자격증 & 문제풀이 > Django-Project' 카테고리의 다른 글
[Django] Base.html (0) | 2020.07.19 |
---|---|
[Django] Home.html (0) | 2020.07.19 |
[Django] 한증막.GG 사이트 설명 (0) | 2020.07.19 |
[Django] 한증막.GG는 무엇인가 (0) | 2020.07.19 |
[Django] 회원가입과 로그인 (0) | 2020.07.19 |