Как сделать «двойное» наследование шаблонов в Django?
Сразу говорю: вопрос скорее всего не корректно оформлен.
Ситуация следующая: через views.py я (через render) вызываю html файл №1 - main_page.html
Он загружает через extends основной шаблон №0 - index.html . Далее в index.html через include я подключаю header.html, main.html, footer.html .
Вопрос: как из main_page.html передать в main.html код (через блок и пр.) ?
Именно поэтому так стоит вопрос в заголовке: я хочу передать код не первому html файлу (через extends ), а второму файлу (который сам подключается шаблону №0).
Я тоже так думаю, но лично у меня не срабатывает.
Давайте тогда приложу код (тестовый для понимания):
<!--main_page.html-->
{% extends "html/index.html" %}
{% load static %}
<!--Вот эта информация не выводится-->
{% block main %}
<br>
Здесь блок main
<br>
{% endblock %}
<!--index.html:-->
<!DOCTYPE html>{% load static %}
<html lang="en">
<head>
</head>
<body>
{% include "html/header.html" %}
{% include "html/main.html" %}
{% include "html/footer.html" %}
</body>
</html>
Nik_Set_7: невозможно удержаться при проявлении самоуверенности у начинающего разработчика. Джунам при столкновении с кажущимися неудобствами в каких-либо системах стоит выработать привычку сразу же подозревать себя в непонимании, а не систему в негибкости. Django чрезвычайно гибкий фреймворк с изящной архитектурой, надо только уметь им пользоваться.
Сергей Горностаев: Скажем так: я хотел сделать сделать основные файлы html, css более гибкими. В результате мне нужно изворачиваться) Хотя изначально думал, что будет проще.
Дубовый он в данной ситуации: то, что он гибкий я не сомневаюсь. Самоуверенности нет - просто некоторое сожаление, что будет чуть сложнее, чем думал изначально.