Я пытаюсь загрузить шаблоны из заархивированной папки, но это не так. Структура папок: zipped.zip: templates / template1.html
Я попытался открыть файл с помощью модуля zipfile и передать дескриптор открытого файла в функцию get_template, как показано ниже
import os
from pathlib import path
import jinja2
TEMPLATE_DIR = os.path.abspath(str(Path.home()))
TEMPLATE_LOADER = jinja2.FileSystemLoader(searchpath=TEMPLATE_DIR)
TEMPLATE_ENV = jinja2.Environment(loader=TEMPLATE_LOADER)
archive = zipfile.ZipFile('zipped.zip', 'r')
hd_template = archive.open('templates/parsing_error_template.html')
parsed_template = TEMPLATE_ENV.get_template(hd_template)
html_template = parsed_template.render(a='something')
ОшибкаЯ получил:
parsed_template = TEMPLATE_ENV.get_template(parsed_template)
File "/home/airflow/airflow/lib/python3.6/site-packages/jinja2/environment.py", line 830, in get_template
return self._load_template(name, self.make_globals(globals))
File "/home/airflow/airflow/lib/python3.6/site-packages/jinja2/environment.py", line 804, in _load_template
template = self.loader.load(self, name, globals)
File "/home/airflow/airflow/lib/python3.6/site-packages/jinja2/loaders.py", line 113, in load
source, filename, uptodate = self.get_source(environment, name)
File "/home/airflow/airflow/lib/python3.6/site-packages/jinja2/loaders.py", line 168, in get_source
pieces = split_template_path(template)
File "/home/airflow/airflow/lib/python3.6/site-packages/jinja2/loaders.py", line 27, in split_template_path
for piece in template.split('/'):
AttributeError: 'ZipExtFile' object has no attribute 'split'
Как загрузить шаблон jinja2 из заархивированной папки?