@Aquinary
Хинафаг.

Django шаблоны или каким образом их понимать?

Доброго времени суток!
Изучаю шаблоны в django. Возникли некоторые проблемы с пониманием их работы.
Например, имеется каркасный шаблон base.tpl:
<html>
	<head>
		<title>{% block title %}Родительский заголовок{% endblock %}</title>
	</head>
	<body>
		{% block header %}{% endblock %}
		{% block content %}{% endblock %}
		{% block footer %}{% endblock %}
	</body>
</html>

...и соответствующие title.tpl, header.tpl, content.tpl, footer.tpl, их содержимое примерно такое (на примере title.tpl):
{% extends "template/base.tpl" %}
{% block title %} Дочерний заголовок {% endblock %}

, т.е. я переопределяю блок указанный в base.tpl в title.tpl.
А так же views.py:
Вариант 1:
def index(request):
	return render(request, 'template/base.tpl');

В заголовке получаем "Родительский заголовок".
Вариант 2:
def index(request):
	return render(request, 'template/title.tpl');

В заголовке получаем "Дочерний заголовок".
Всё понятно, всё очевидно.
И тут я начинаю теряться.
А как быть с остальными дочерними шаблонами, вроде header.tpl, content.tpl, footer.tpl?
У меня есть стойкое подозрение, что я просто не правильно понял саму суть шаблонов и извратил её понятие.
  • Вопрос задан
  • 1289 просмотров
Решения вопроса 2
sim3x
@sim3x
не правильно понял саму суть шаблонов


def page_about(request):
  return render(request, 'about.html');


about.html
{% extends "base.html" %}
    {% block header %} Here is the title of about page{% endblock %}
    {% block content %}content about page{% endblock %}
    {% block footer %}footer for about page{% endblock %}


То что у вас похоже на include
Ответ написан
Astrohas
@Astrohas
Python/Django Developer
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы