11

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

どこが間違っていますか?「あなたのアプリケーションという名前のモジュールはありません」というエラーが表示される理由

4

1 に答える 1

21

環境とローダーについてはあまり知りませんが、これは私が使用しているものです。

jinja_environment = jinja2.Environment(
    loader=jinja2.FileSystemLoader('%s/templates/' % os.path.dirname(__file__))
)
于 2013-07-25T10:55:59.113 に答える