хорошо, моя проблема в том, что загрузчик шаблонов не находит файл, который ДЕЙСТВИТЕЛЬНО существует!! Прежде всего, это произошло, когда я попытался изменить иерархию своего сайта:
Я попытался поместить новый тип страницы (MainPage) в качестве первого дочернего элемента Root и установить все остальные страницы (Home и Events) ниже него. Таким образом, HomePage, которая раньше находилась на корневом уровне, теперь настроена как дочерняя для MainPage, а Events — дочерние для HomePage.
Все это я сделал через админку трясогузки. Затем я создал шаблон main_page.html, который загружает base.html и используемые теги.
Но теперь это будет сложно:
Поскольку все работало очень хорошо, после изменения иерархии загрузчик шаблона больше не находит файл, используемый для панели навигации: top_menu_children.html. Вот моя иерархия:
- my-site/
| - my-app/
| - templatetags/
| - my-app_tags.py
| - templates/
| - my-app/
| - main_page.html
| - events_page.html
| - home_page.html
| - tags/
| - top_menu.html
| - top_menu_children.html
| - my-site/
| - templates/
| - base.html
Теперь вот содержимое my-app_tags.py:
...
@register.inclusion_tag('my-app/tags/top_menu_chidren.html'
,takes_context=True)
def top_menu_children(context, parent):
menuitems_children = parent.get_children()
menuitems_children = menuitems_children.live().in_menu()
return {
'parent': parent,
'menuitems_children': menuitems_children,
'request': context['request'],
}
и, наконец, это выдержка из ошибки, которую я получаю:
Template-loader postmortem
Django tried loading these templates, in this order:
Using engine django:
django.template.loaders.filesystem.Loader: ../my-site/my-site/templates/my-app/tags/top_menu_chidren.html (Source does not exist)
django.template.loaders.app_directories.Loader: .../my-site/my-app/templates/my-app/tags/top_menu_chidren.html (Source does not exist)
Второй ДОЛЖЕН совпадать!!!!
Извините, если это выглядит немного запутанно, но я попытался описать контекст: загрузчик шаблонов ищет в нужном месте файл, который существует, но теперь говорит, что его нет.
Пожалуйста, помогите, потому что я действительно не знаю, в чем проблема, мне просто нужна подсказка.