Jinja2 {% include file%} вне пути поиска не работает - PullRequest
0 голосов
/ 27 апреля 2018

Это элементарная проблема, которая, вероятно, связана с Jinja2 PrefixLoader или ChoiceLoader.

На Python 3.6 мы загружаем эту команду

jinja2.FileSystemLoader( searchpath= "\\template_folder\\")

В Windows 7 наша файловая структура выглядит следующим образом.

- folder_bbb
    * subfile.txt
- template_folder
     * template_file
     - folder_aaa
         * subfile.txt

Из файла template_file мы успешно выполняем эту команду

{% include "folder_aaa/subfile.txt" %} 

Теперь мы хотим переместить файл на один уровень вверх и написать

{% include "../folder_bbb/subfile.txt" %}

но это не работает, файл жалобы не найден.

Как правильно писать? Спасибо.

1 Ответ

0 голосов
/ 27 апреля 2018

Вы можете указать все пути в загрузчике

jinja2.FileSystemLoader(["c:\\template_folder\\", "c:\\folder_bbb\\"])

и ссылаться на включающий блок без определенного пути

{% include "subfile.txt" %} 

Путь будет найден по порядку, так что, как вы говорите, перемещая файл на один уровень вверх, файл будет найден. (Вам нужен путь template_folder для самого шаблона.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...