我正在使用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本身。
关于可能出现什么问题的任何想法?
谢谢!