2014-01-11 121 views
0

我已经安装了Google App Engine; GAE发射器GUI;和Python SDK。使用Google的App Engine和Python SDK

我已经使用GUI成功部署了一个网页,现在我的测试页面可以在外部URL中查看。

不幸的是,我知道这样做的唯一方法是将我所有的HTML代码包含在GAE目录中的Python .py文件中。我想要做的是在我的.py文件中包含调用单独.html文件的代码。到目前为止,尽管我最好的搜索努力,我不明白如何写这个。任何人都可以帮忙吗?

预先感谢

+2

您是否阅读过文档?它向你展示了如何在Python中使用Jinja2模板。 –

+0

GAE文档充满了关于如何使用模板和资产的示例,您是否阅读了这些示例? –

+0

嗨,丹尼尔。感谢回复。我已经按照帮助页面的指示来包含Jinja2(即添加对.yaml文件的引用)。但是,当我这样做,然后尝试在GAE GUI中运行我的Web应用程序时,它不能这样做。除了出现一个小小的绿色圆圈外,还有一个“!”显示警告三角形。之后,我无法访问网页应用程序,或者浏览器在访问http:// localhost:8080(由Google GUI分配的端口)时加载页面。 – user3185382

回答

1

首先,在终端(或命令行)使用pip安装的Jinja2:

pip install jinja2 

其次,它包括在你app.yaml文件作为一个库。

libraries: 
- name: webapp2 
    version: "2.5.2" 
- name: jinja2 
    version: "2.6" 

在你的代码声明一个神社的环境,让你可以渲染模板:

import jinja2 

env = jinja2.Environment(
    loader=jinja2.FileSystemLoader('templates') 
) 

现在,您需要在“模板”文件夹中创建一个模板.html文件。如果我们创造,我们要在代码中渲染“的index.html”模板中,我们可以这样写:

template = env.get_template('index.html') 
self.response.write(template.render()) 

显然有很多,你可以用模板做的不是简单地呈现HTML - 你可以看看功能Jinjas website

在google应用程序引擎的python教程中,更好地解释了here的所有过程。

如果你需要一个例子,我最近开源了一个我在github上开发的谷歌应用程序引擎应用程序,如果你愿意,你可以拿一个look at it作为一些指导。