[Django 템플릿 시스템] Django 템플릿의 include 메커니즘

1536 단어 Django
주: 다음 내용은 현대마법학원 사이트의 Django 템플릿의include 메커니즘을 옮겨서 학습용으로만 제공합니다.
웹 프로그램을 쓴 사람들은include가 파일을 포함하는 것에 익숙하다. 그렇다면 Django에서include는 어떤 메커니즘일까?
템플릿 태그
템플릿 불러오기 메커니즘을 설명한 후에 이 메커니즘을 이용한 내장 템플릿 탭을 소개합니다: {% include%}.이 탭을 사용하면 (템플릿에) 다른 템플릿의 내용을 포함할 수 있습니다.탭의 매개 변수는 포함할 템플릿 이름입니다. 변수일 수도 있고, 단일/더블 인덱스로 하드코딩된 문자열일 수도 있습니다.여러 템플릿에 같은 코드가 나타날 때마다 중복을 줄이기 위해 {% include%}를 사용해야 하는지 고려해야 합니다.
아래의 두 가지 예는 모두nav를 포함하고 있다.html 템플릿.이 두 가지 예는 등가인데, 그것들은 단일/더블 따옴표가 모두 허용된다는 것을 증명한다.
{% include 'nav.html' %}
{% include "nav.html" %}

아래의 예는includes/nav를 포함한다.html 템플릿의 내용:
{% include 'includes/nav.html' %}

다음 예는 변수template 를 포함합니다name 값은 이름의 템플릿 내용입니다.
{% include template_name %}

즉, 불러오는 템플릿 이름은view층에서 정의할 수 있습니다.
gettemplate () 와 마찬가지로 템플릿의 파일 이름을 판단할 때, 호출된 템플릿 이름 앞에 TEMPLATEDIRS의 템플릿 디렉토리입니다.
포함된 템플릿이 실행될 때 context는 템플릿을 포함하는 템플릿과 같습니다.예를 들어 다음 두 개의 템플릿 파일을 고려합니다.
# mypage.html



{% include "includes/nav.html" %}

{{ title }}

# includes/nav.html

만약current을 포함하는 것을 사용한다면섹션의 상하문에서 mypage를 렌더링합니다.html 이 템플릿 파일, 이 변수는 당신이 상상하는 것처럼 포함(include) 템플릿에 존재합니다.
{% include%} 태그에 지정된 템플릿을 찾을 수 없는 경우 Django는 다음 두 가지 프로세스 중 하나를 선택합니다.
4
  • DEBUG가 True로 설정되면 Django 오류 정보 페이지에서 Template DoesNotExist 예외가 표시됩니다

  • 4
  • DEBUG가False로 설정된 경우 이 태그는 오류 정보를 유발하지 않으며 태그 위치에 아무것도 표시되지 않습니다
  • 좋은 웹페이지 즐겨찾기