템플릿을 다른 템플릿에 어떻게 삽입합니까?
매우 기본적인 템플릿 (basic_template.html)이 있고 다른 부분 템플릿을 사용하여 서식이 지정된 데이터로 채우기를 원합니다. basic_template.html에는 부분 템플릿을 사용하여 형식이 지정된 여러 항목이 포함될 수 있습니다.
views.py에서 코드를 어떻게 구성해야합니까?
내가 이것을하는 이유는 나중에 Ajax를 사용하여 채워질 것이기 때문입니다. 내가이 일을 제대로하고 있는가?
넌 할 수있어:
<div class="basic">
{% include "main/includes/subtemplate.html" %}
</div>
subtemplate.html
다른 Django 템플릿은 어디에 있습니까 ? 여기 subtemplate.html
에 Ajax로 얻을 수있는 HTML을 넣을 수 있습니다.
템플릿을 여러 번 포함 할 수도 있습니다.
<div class="basic">
{% for item in items %}
{% include "main/includes/subtemplate.html" %}
{% endfor %}
</div>
블록을 사용하여이를 수행 할 수 있습니다 . 블록은 확장 하는 템플릿의 섹션을 재정의하는 Django 템플릿 태그입니다 . 아래에 예를 포함했습니다.
basic_template.html
<body>
{% block 'body' %}
{% endblock %}
</body>
포함 할 템플릿 : (예 : example.html)
{% extends 'basic_template.html' %}
{% block 'body' %}
/* HTML goes here */
{% endblock %}
views.py :
return render_to_response(template='example.html', context, context_instance)
이렇게하면 basic_template.html이로드 되지만 basic_template.html 안에있는 모든 내용을 안에 포함 된 내용 {% block 'body' %} {% endblock %}
으로 바꿉니다 {% block 'body' %} {% endblock %}
.
Django 문서 에서 블록 및 템플릿 상속에 대해 자세히 읽을 수 있습니다.
나는 단지 extend와 include의 차이점을 추가하고 싶었습니다. 템플릿과 포함 모두 현재 앱에 삽입 된 모델을 사용할 수 있습니다. 템플릿은 모든 앱에서 전 세계적으로 사용할 수 있습니다. 포함은 특정 앱에서 사용하기위한 것입니다. 예 : 홈페이지와 정보 페이지에 Image Slider를 삽입하고 싶지만 다른 곳에 삽입하지 않으려 고합니다. 편의를 위해 자체 모델로 Slider 앱을 만들고 해당 모델을 가져와 해당 페이지에 포함 할 수 있습니다. 이 예제에 템플릿을 사용한 경우 슬라이더가있는 템플릿과 다른 템플릿이있는 템플릿 2 개를 만듭니다.
주로 2 가지 방법이 있습니다 (쉬운 방법 2 가지)
1:
기본 HTML에서 {% include "myapp / sub.html"%}
그리고 sub.html 파일 안에 html 코드를 작성하십시오.
2 :
https://docs.djangoproject.com/en/dev/ref/templates/language/#template-inheritance
참고 URL : https://stackoverflow.com/questions/10985950/how-do-you-insert-a-template-into-another-template
'IT TIP' 카테고리의 다른 글
다른 컨트롤러에서 부분보기 렌더링 (0) | 2020.11.26 |
---|---|
make : 규칙 호출 규칙 (0) | 2020.11.26 |
프로그래밍 방식으로보기 너비 설정 (0) | 2020.11.26 |
Mongoose JS를 통한 MongoDB-findByID 란 무엇입니까? (0) | 2020.11.26 |
Groovy에서 조건부 수집을 작성하는 방법은 무엇입니까? (0) | 2020.11.26 |