본문 바로가기

[ study ]

[jinja] extends 사용하기

반응형
SMALL

회사에서 다른 분의 코드가 많이 간결한 걸 보고 궁금증을 품었다.

navigation, sidebar, footer, header 등 공통적으로 쓰이는 코드를 큰 틀의 layout으로 만들어 놓고

이를 불러와, 그 틀 내에서 필요로 하는 body나 script, style 등등 의 것을 이용하면 더욱 간결해질 수 있다.

 

1. 부모 layout ( ex : parent.html ) 을 만든다.

2. 다른 html 파일을 만들고 parents.html을 extends 한다.

3. 이후에 block 등을 이용한다.

 


// 부모 html parent.html

<title>타이틀입니당.</title>

<body>
{% block content %} {% endblock %} 
</body>

1. 공통적으로 이용할 부모 layout을 만들었다. 

2. title을 공통으로 이용할 것이고 body 에 대해서는 자녀마다 다른 컨텐츠를 사용할 것이다.

 

 

// child.html
{% extends 'parent.html' %}

{% block content %}

<div>
	<table>
	 // 내용
    </table>
</div>

{% endblock %}

1. parent.html을 상속받았다.

2. 자녀마다 다르게 넣을 곳을 block으로 설정해두었고 그 부분만을 채워넣는다.

3. title은 그대로 나오고, <body> 까지 다 상속을 받았고 그 내부에 있어서만 내용을 작성하게 된다.

 

 

 

 

반응형
LIST