Jinja2“包含”声明不适用于Google AppEngine

时间:2016-03-26 21:42:25

标签: python google-app-engine jinja2 template-engine

我正在使用Jinja2作为模板管理器在Google App Engine上开发一个python Web应用程序。在我的一个页面中,我使用“include”语句将另一个HTML页面注入主页面。它在我的本地计算机(PyCharm 5.0.4 IDE)上运行正常,但是,在将应用程序上传到生产环境时,它会断言未找到模板。

这是包含声明:

{% include '/widgets/transaction/add-transaction-modal/add-transaction-modal.html' %}

我还尝试通过在include语句中添加http://my_app_id.appspot.com/来放置完整的URL,但仍然会收到相同的错误。

这是我的Jinja2配置:

JINJA_ENVIRONMENT = jinja2.Environment(
loader=jinja2.FileSystemLoader(os.path.join(os.path.join(os.path.dirname(__file__), os.pardir), 'templates')),
extensions=['jinja2.ext.autoescape'])

这是app.yaml:

- url: /widgets
  static_dir: app/templates/widgets

这是文件夹结构:

+ APP
    + static
        - css
        - js 
        - img
    + templates
        + pages
            - dashboard.html (contains de include statement to the widget)
        + widgets
            - add-transaction-modal.html
            - add-transaction-modal.js

这真的很奇怪,因为它在我的本地开发服务器上工作得很好。我的猜测是,这个问题与App Engine PROD environemnt的一些细节有关,而不是Jinja2本身。

关于可能出现什么问题的任何想法?

谢谢!

0 个答案:

没有答案