본문 바로가기
AI 웹개발반/Python, Django

[Django] 07 home 화면 수정하기

by 째깍단 2023. 4. 6.

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 버튼이 뜨도록 하였음)