Сделал меню отдельным(app) шаблон header.html и подключил к base.html через include. При переходе на другую страницу(app) меню пропадает. Как исправить эту ошибку.
если у другого шаблона в качестве базового тоже base.html, то скорее всего дело в контексте (проверь - действительно ли в шаблон передается структура для меню?)
Sama Samsonov: тогда скинь кусок html-шаблонов, в которых подключение меню идет (base.html, app.html ... и т.д.) думаю проблема в наследовании шаблонов или подключении инклудом
ok. повторю вопрос (теперь с привязкой к конкретике) у тебя во вьюхе, которая рендерит index.html в контекст передается mid_menu (это должен быть итерируемый объект)
Sama Samsonov: конечно. если допустим есть файл customer.html ( или любой другой html-файл, который наследуется от base.html) то при его рендере нужно подкинуть mid_menu ... иначе шаблонизатор не будет знать что нужно отрендерить :)
или действительно попробуй использовать inclusion tag очень удобная штука... что бы каждый раз не париться с контекстом.... в комметарии ниже я расписал какие есть пути решения твоей проблемы....
на мой взгляд inclusion tags нужны для удобной вставки (возможно и не однократной) фрагмента html-шаблона с каким-то определённым контекстом... если используется рендер без контекста (хардкоженные списки... меню и т.п.) можно просто воспользоваться инклудом...
Sama Samsonov: Если есть контекст для куска html который нужно вставлять в разные участки кода, то есть 3 выхода:
1) прокинуть в каждую вьюху контекст (в данном случае меню) и рендерить с обычным инклудом
2) использоывать inclusion tag и в нем подготовить контекст
3) использовать контекст-процессоры (он в каждый запрос подкидывает указанный контекст) и тоже рендерить с обычным инклудом