Класс PackageLoader ( BaseLoader ) . «» "Загружать шаблоны из питона яйца или пакеты Он построен с именем пакета питона и путь к шаблонам в этом пакете :: Загрузчик = PackageLoader („MyPackage“,„вид“) Если путь пакета не указан, предполагается `` `templates```. По умолчанию кодировка шаблона -` `` utf-8```, которую можно изменить, установив параметр `encoding` на что-то еще. характер яиц можно только перезагрузить шаблоны, если пакет был загружен из файловой системы, а не zip-файл. "" " определяется следующим образом:
__init__()
И тогда метод выглядит следующим образом:def __init__(self, package_name, package_path='templates', encoding='utf-8'):
myapp/
__init__.py
...
templates/
mytemplate.html
Это заставляет нас заметить, что такая структура выглядит следующим образом:
PackageLoader
Будет иметь тот же PackageLoader
экземпляр с обоими этими объявлениями:
PackageLoader('myapp')
PackageLoader('myapp', 'templates')
Итак, если вы используете myapp/
путь, вам просто нужно сказать:
PackageLoader('templates', '')
Так что это просто займет templates/
путь. Если вы оставите второй аргумент пустым, он попытается найти шаблоны templates/templates
.
Наконец, вы можете проверить, что было загружено с помощью list_templates()
метода:
PackageLoader('templates', '').list_templates()