我无法让Jinja2读取我的模板文件。jinja2.exceptions.TemplateNotFound: template.html
env = Environment(loader=FileSystemLoader('frontdesk', 'templates'))
template = env.get_template('template.html')
我的树(我激活了venv @frontdesk)
.
├── classes.py
├── labels.txt
├── payments.py
├── templates
├── test.py
└── venv
最佳答案
您正在使用 FileSystemLoader
class,它具有以下init参数:
class FileSystemLoader(BaseLoader):
def __init__(self, searchpath, encoding='utf-8', followlinks=False):
您正在使用2个参数对其进行初始化:
frontdesk
和templates
,这基本上没有多大意义,因为templates
字符串将作为encoding
参数值传递。如果要继续使用FileSystemLoader
作为模板加载器,请按以下方式使用它:from jinja2 import Environment, FileSystemLoader
env = Environment(loader=FileSystemLoader('frontdesk/templates'))
template = env.get_template('index.html')
或者,如果您打算使用
PackageLoader
class:from jinja2 import Environment, PackageLoader
env = Environment(loader=PackageLoader('frontdesk', 'templates'))
template = env.get_template('index.html')
在这种情况下,您需要确保
frontdesk
是package-换句话说,请确保您在__init__.py
目录中有frontdesk
文件。关于python-3.x - Jinja找不到模板路径,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35802741/