인프런 커뮤니티 질문&답변
logout 태그 관련 질문
작성
·
52
0
navbar.html에서 로그아웃 버튼을 생성 할 때 기존에
{% if session_user % }
... (1)
{% else %}
... (2)
{% endif %}
하고 이 아래 쪽에 다시 if session_user를 해서 로그아웃을 하는 이유가 무엇일까요? 그냥 (1) 위치에 a태그 달아서 로그아웃을 만들면 안될까요?
퀴즈
사용자의 로그인 상태 유지를 위해 SessionMiddleware와 Signed Cookie를 사용하는 주된 이유는 무엇일까요?
데이터베이스 부하 감소
클라이언트 측 스크립트 실행 허용
서버와 클라이언트 간 상태 정보 안전하게 관리
애플리케이션 성능 최적화
답변 2
1
안녕하십니까,
네, 말씀하신대로 적용하셔도 됩니다.
if session_user 를 두번 쓴 별 이유는 없고, 강의에서 로그아웃 로직을 좀 더 명확하게 설명하기 위해서 그렇게 만든게 주요 이유고, 실무에서는 로그인, 로그 아웃 UI Block이 달라지는 경우도 감안할 수 있기 때문에 그렇게 구성했을 뿐입니다.
감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다. 열음님.
질문해주신 내용에 대해 답변드리겠습니다. 템플릿에서 로그아웃 버튼을 만들 때, if 조건문을 여러 번 사용하는 이유는 코드의 구조를 명확하게 하고, 상태 변화에 따라 올바른 UI를 보여주기 위함입니다.
코드 구조 및 가독성: (1) 위치에 a태그를 직접 추가하여 로그아웃 버튼을 만들 수도 있지만, 조건문을 통해 사용자 상태에 따라 분리된 코드 블록으로 관리하는 것이 가독성 측면에서 더 좋을 수 있습니다. 이렇게 하면 로그인 상태와 로그아웃 상태에 따라 명확하게 구분된 블록을 제공하여 유지보수가 쉬워집니다.
유연한 사용자 인터페이스: 사용자 상태에 따라 UI가 여러 방식으로 변화할 수 있는 페이지에서는 각기 다른 상태에 맞는 HTML을 별도로 관리하는 것이 바람직합니다. 이는 템플릿을 확장하거나 변경할 때 유연성을 제공합니다.
아래 두 링크를 참고하시면 FastAPI 및 템플릿 작업에 대한 추가적인 내용을 보실 수 있습니다:
- FastAPI에서 템플릿 사용하기
- FastAPI 공식 문서
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.





