Как вставить шаблон в другой шаблон?
У меня есть очень простой шаблон (basic_template.html), и хотите заполнить данные, отформатированные с использованием другого частичного шаблона. Базовый шаблон.html может содержать несколько вещей, отформатированных с помощью частичного шаблона.
Как я должен структурировать код в views.py?
причина, по которой я это делаю, заключается в том, что позже он будет заполнен с помощью Ajax. Правильно ли я это делаю?
3 ответов:
вы можете сделать:
<div class="basic"> {% include "main/includes/subtemplate.html" %} </div>здесь
subtemplate.htmlеще один шаблон Django. В этомsubtemplate.htmlвы можете поместить HTML, который будет получен с помощью Ajax.вы также можете включить шаблон несколько раз:
<div class="basic"> {% for item in items %} {% include "main/includes/subtemplate.html" %} {% endfor %} </div>
вы можете сделать это с помощью блок. блоки-это тег шаблона Django, который будет переопределять разделы шаблона вы продлить. Я включил пример ниже.
basic_template.HTML-код
<body> {% block 'body' %} {% endblock %} </body>шаблон, который вы хотите включить: (т. е. пример.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-код, но заменить все внутри
{% block 'body' %} {% endblock %}в basic_template.html с тем, что содержится внутри{% block 'body' %} {% endblock %}.вы можете прочитать больше о блоках и наследовании шаблонов в Django Docs
Я просто хотел добавить различия расширения и включения. Как шаблон, так и include могут использовать модели, вставленные в текущее приложение. Шаблон предназначен для глобального использования любым вашим приложением. Включить предназначен для использования в некоторых приложениях. Например: вы хотите вставить слайдер на главную страницу и страницу, но нигде. Вы можете создать слайдер приложение со своей собственной моделью для удобства и импортировать его модель и включить в этом страницы. Если вы использовали шаблон для этого примера, вы бы создали 2 шаблона один с ползунком а все остальное у другого шаблона есть.
Comments