작정하고 장고 _ 5/9

seoyeon·2023년 5월 12일
0

UDR

목록 보기
31/42

22강_Login/Logout 구현

CRUD 중 Create - (login view) - R - U - D

  • 장고에서 기본 제공하는 View가 존재
  • 원래는 특정뷰 상속받고 값 넘겨줌 - 로그인/로그아웃은 직접 가져와도 됌(복잡X)
  • login view는 템플릿을 지정해줘야함! - 직접 만들거
path('login/', LoginView.as_view(template_names='accountapp/login.html), name='login'),
path('logout/', LogoutView.as_view(), name='logout'),

-> 계정 생성 후 로그인 시도하면 accounts/profile 로 이동하게 됌 (기본설정)

  • redirect 매커니즘
  • login/logout view
    : next →(없으면) setting / LOGIN, REDIRECT, URL → Default(profile)
  • 이를 방지하기 위해 header.html 수정 (nav4 → login)

-next={{ request.path }} : 맨 처음인 next로 가기위한 인자

{% if not user.is_authenticated %} #로그인 안되어 있으면 
<a href=" url 'accountapp:login'?next={{ request.path }} ">
	<span>login</span>
</a>
{% else %}
<a href=" url 'accountapp:logout'?next={{ request.path }} ">
                <span>logout</span>
</a>
{% endif %}

오류 방지 (settings.py)

LOGIN_REDIRECT_URL = reverse_lazy('accountapp:hello_world')
LOGOUT = reverse_lazy('accountapp:login')
profile
안녕하세용

0개의 댓글

관련 채용 정보