베하~! 뉴진쓰팀의 큰뉴진입니다.
이번에는 django에서 {%block%} 태그에 대해서 알아보려고 해요!
{% block %} 태그란?
Django 템플릿 언어에서 사용되는 태그 중 하나로 템플릿 상속을 위해 사용됩니다.
부모 템플릿에서 {% block %} 태그를 사용하여 자식 템플릿에서 오버라이드할 수 있는 블록을 정의합니다.
자식 템플릿에서는 {% block %} 태그를 사용하여 부모 템플릿에서 정의한 블록을 오버라이드할 수 있습니다.
예시를 하나 보여드릴게요!
마이페이지에서 왼쪽에 버튼을 누르면 오른쪽에 버튼마다 다른 페이지가 호출 되어야 겠죠?
그런데, {% block %}이 없다면 다른 버튼을 누를때마다 버튼을 정의하는 코드가 같이 들어가야겠죠?
<a href="{% url 'password_confirmation' %}" style="margin-bottom: 10px;">개인정보 확인/수정</a>
<a href="{% url 'order_list' %}" style="margin-bottom: 10px;">주문내역</a>
<a href="{% url 'profile_config' %}" tyle="margin-bottom: 10px;">크레딧관리</a>
<a href="{% url 'inquiry_view' %}" style="margin-bottom: 50px;">문의하기</a>
최소한으로 잡아도 위 코드가 페이지마다 연결이 되어야할 거에요.
하지만 {% block %} 태그를 사용한다면, 부모에게 버튼을 상속받아서 필요한 기능만 정의하는 html 문서를 작성할 수 있어요.
main은 block을 정의하는 이름으로 다른 이름으로도 설정할 수 있어요.
부모 html
<main id="main" style="flex: 0 0 75%;">
<!-- 여기에 메인 콘텐츠를 추가하세요 -->
{% block main %}
{% endblock %}
</main>
자식 html
{% extends "부모.html" %}
{% block main %}
<!-- 여기에 원하는 콘텐츠를 추가하세요 -->
{% endblock %}
이렇게 하면 코드의 반복없이 원하는 기능만 넣을 수 있겠죠?
여러분도 {% block %} 태그를 활용해서 html을 좀 더 깔끔하게 적어보아요!
다음에도 더 유익한 정보를 가져올 수 있도록 할게요!
뉴진쓰 팀의 큰뉴진이었습니다~
'Programming > Python' 카테고리의 다른 글
[Python] Requests (0) | 2024.01.29 |
---|---|
[Python] bs4 html parsing (1) | 2024.01.22 |
virtualenv 명령어 실행 또는 가상환경이 생성되지 않는 경우 (0) | 2024.01.05 |
Python Pandas (0) | 2024.01.02 |
Python Flask 란? (0) | 2023.12.22 |
댓글