본문 바로가기
Programming/Python

[Django] {%block%} 태그

by BTC-큰뉴진 2024. 1. 15.

베하~! 뉴진쓰팀의 큰뉴진입니다.

 

이번에는 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

댓글