【问题标题】:Using Google's App Engine with Python SDK将 Google 的 App Engine 与 Python SDK 一起使用
【发布时间】:2014-01-11 16:28:48
【问题描述】:

我已经安装了 Google App Engine; GAE 启动器 GUI;和 Python SDK。

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

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

提前致谢

【问题讨论】:

  • 您阅读文档了吗?它向您展示了如何在 Python 中使用 Jinja2 模板。
  • GAE 文档中充满了有关如何使用模板和资产的示例,您通读了吗?
  • 你好丹尼尔。感谢回复。我已按照帮助页面的说明包含 Jinja2(即添加对 .yaml 文件的引用)。但是,当我这样做,然后尝试在 GAE GUI 中运行我的 Web 应用程序时,它无法这样做。不是出现一个绿色的小圆圈,而是一个“!”在警告三角形中显示。之后我无法让网络应用程序进入 ru ,或者在访问 localhost:8080 (由谷歌 GUI 分配的端口)时浏览器加载页面。
  • 你能用 jinja2 模板展示你的 yaml 文件吗?

标签: python html google-app-engine


【解决方案1】:

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

pip install jinja2

其次,将其作为库包含在您的 app.yaml 文件中。

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

在您的代码中声明一个 Jinja 环境,以便您可以渲染模板:

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 上的功能。

在谷歌应用引擎的 python 教程中,here 更好地解释了执行所有这些的过程。

如果您需要示例,我最近开源了一个我在 github 上开发的谷歌应用引擎应用程序,如果您愿意,可以通过look at it 获得一些指导。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-08
    • 2013-10-27
    • 2013-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-10
    相关资源
    最近更新 更多