我正在尝试使用Jinja2在python中创建一个html模板。我有一个带有'template.html'的模板文件夹,但我不知道如何处理环境或包装加载器。
我安装了Jinja2。这些我的简单代码
from jinja2 import Environment, PackageLoader
env = Environment(loader=PackageLoader('ap', 'templates'))
template = env.get_template('template.html')
print template.render(title='hello')
我收到此错误:
File "a.py", line 3, in <module>
env = Environment(loader=PackageLoader('ap', 'templates'))
File "/usr/local/lib/python2.7/dist-packages/Jinja2-2.7-py2.7.egg/jinja2/loaders.py", line 214, in __init__
provider = get_provider(package_name)
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 213, in get_provider
__import__(moduleOrReq)
ImportError: No module named ap
这是我的文件夹
ap/
__init__.py
a.py
templates/
template.html
我哪里错了?为什么我收到此错误“没有模块命名您的应用程序”
答案 0 :(得分:10)
我对环境和装载机了解不多,但这就是我的用法:
jinja_environment = jinja2.Environment(
loader=jinja2.FileSystemLoader('%s/templates/' % os.path.dirname(__file__))
)