我有以下项目,
APP
|-static
|-templates
|-file.html
|-blueprints
|-blueprint1.py
|-blueprint2.py
|-app.py
每个蓝图文件都有各种sanic
路由,我想在调用时呈现模板。
我尝试将以下内容放入每个blueprint
文件中,
template_env = Environment(
loader=PackageLoader('APP', 'static/templates'),
autoescape=select_autoescape(['html', 'xml'])
)
只是为了得到错误ModuleNotFoundError: No module named 'APP'
替换APP
给blueprints
我错误TypeError: expected str, bytes or os.PathLike object, not NoneType
我也尝试过使用FileSystemLoader
这样的,
template_loader = FileSystemLoader(searchpath="../static/templates")
template_env = Environment(loader=template_loader)
并加载我需要的模板template = template_env.get_template('file.html')
但是我template not found
在访问网址时得到了一个。
直接尝试渲染我的模板,
with open('..static/templates/file.html') as file:
template = Template(file.read())
再次导致file not found
错误。
jinja
在我的应用程序中使用模板的最佳方式是什么?