2020-12-09 08:57:04

웹사이트를 만들다 보면, html에서 중복되는 코드가 발생하기 마련입니다. 특히 상단 헤더나 하단 푸터 같은 부분은 어떤 페이지든 관계없이 동일한 부분들이기 때문입니다. 

 

오늘은 flask로 웹사이트를 만드는 경우 중복되는 html을 어떻게 처리하는지에 대해서 다뤄보고자 합니다. flask의 경우 jinja2를 템플릿 언어로 사용하는데, {% include %}를 활용하면, 중복되는 html을 처리할 수 있습니다.

 

사용법은 다음과 같습니다. 중복되는 부분들을 또 다른 html 문서로 각각 작성한 후, 중복되는 부분에는 다음과 같이 한줄의 코드로 대체해주는 것입니다.

 

{% include 'head.html' %}

{% include 'header.html' %}

{% include 'nav.html' %}

{% include 'footer.html' %}

 

등으로 말입니다. 

 

 

{% include %} 사용 예

 

만약 페이지가 5개 이내의 작은 규모의 웹사이트면, 이 기능이 절실하게 필요하지 않을 수 있어도, 페이지가 10, 100개 이상이라면 이 기능 없이는 작업이 거의 불가능해집니다. 중복되는 요소에서 뭐 하나를 수정하려고 하면, 그 10개, 100개 되는 html 문서를 모두 손봐야 하기 때문입니다. 

 

전 처음에 flask에는 이 기능이 없는 줄 알고 식겁했다가, 다행히 존재한다는 것을 알고 안도했던 기억이 있습니다.