1) home.html 수정해보기
받은 코드에는 친절하게도 어떤 div설정이 되어있고,
글을 작성하고 띄우는 곳이 어떤 곳인지도 알 수 있었다!
<!-- 왼쪽 컬럼 --> #사랑스런 주석
위치를 잘 생각하며 html에 기능이 들어갈 부분을 만들어본다
{% %} 파이썬처럼 if else문을 사용할 수 있게 해준다.
{{ }} 장고에 있는 원하는 내용을 불러올 수 있다.
base.html(모든 html의 기본)의 form에서 sign in / signup 버튼 수정하기
-> 대체로 모든 수정이 form안에서 이루어진다.
crsf_token을 추가하거나, 기능을 만들어 넣는 것에서도.
새로운 코드를 만나면 form안을 잘 살펴보면 되는 듯.
{% if not user.is_authenticated %} #사용자 인증 확인 not이면 signin버튼이뜨도록
{% else %}
{{ user.username }} #원하는 글을 적거나 정보를 가져온다
{% endif %}
5) 그외 기능들
로그인 시 로그인 창보이지 않게 경로설정하기
로그인 여부 확인 함수를 사용하고, is_authenticated
user = request.user.is_authenticated
# + if else문으로 작동할 기능을 생각하여 적어준다.
logout() 로그아웃 기능 함수를 정의해주고,
def logout(request):
auth.logout(request)
return redirect('/')
내장되어있는 데코레이터를 가져와
로그인이 되었을 때만 접근이 가능하도록 def함수를 꾸며줄 수 있다.
from django.contrib.auth.decorators import login_required
@login_required
#데코레이터를 붙여서 로그인이 되어있을때만 접근 가능하도록 함
logout url도 추가해준다. #중요 #빼먹으면 안됨!
path('logout/', views.logout, name='logout'),
+ html파일도 적절하게 수정하면 완료
(로그인 유저 네임을 띄우고, 그 옆에 logout 버튼이 뜨도록 하였음)
'AI 웹개발반 > Python, Django' 카테고리의 다른 글
[Web] 웹의 동작과 이해, HTTP (0) | 2023.04.19 |
---|---|
[Django] 08 글 쓰기/삭제 기능 (0) | 2023.04.06 |
[Django] 06 회원가입, 로그인기능 수정하기 (0) | 2023.04.06 |
[Django] 05 user model에 기능 추가하기 (0) | 2023.04.05 |
[Django] 04 앱 기능 추가 GET, POST, 세션 (0) | 2023.04.04 |