我无法让Jinja 2读取我的模板文件。
第一个月
配置Jinja 2为应用程序加载模板的最简单方法大致如下:
from jinja2 import Environment, PackageLoader
env = Environment(loader=PackageLoader('yourapplication', 'templates'))
字符串
这将创建一个具有默认设置的模板环境和一个加载器,该加载器在yourapplication
python包内的templates文件夹中查找模板。不同的加载器可用,如果你想从数据库或其他资源加载模板,你也可以编写自己的加载器。要从这个环境加载模板,你只需要调用get_template()
方法,然后返回加载的模板:
template = env.get_template('mytemplate.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
型
1条答案
按热度按时间tp5buhyn1#
您正在使用
FileSystemLoader
类,它具有以下init参数:字符串
您使用两个参数初始化它:
frontdesk
和templates
,这基本上没有多大意义,因为templates
字符串将作为encoding
参数值传递。如果您想继续使用FileSystemLoader
作为模板加载器,请这样使用它:型
或者,如果你打算使用
PackageLoader
类:型
在这种情况下,您需要确保
frontdesk
是一个包-换句话说,确保您在frontdesk
目录中有__init__.py
文件。