配置 wsgi 应用程序来提供静态 html?

配置 wsgi 应用程序来提供静态 html?

我想在 openshift 中安装 www.planetplanet.org。我在 openshift 上托管了一些 php 应用程序,但不确定 python 应用程序如何工作。openshift 模板为我提供了一个 wsgi.py 文件,该文件需要“应用程序”模块/函数作为其起点。我不确定将其指向哪里。planetplanet 代码布局是这里我怀疑我必须将“应用程序”指向星球/在里面.py。虽然不知道该怎么做。

在搜索过程中,我偶然发现了https://github.com/shekhargulati/schedapp-openshift这是 openshift 上的一个简单的 python 应用程序,它的 wsgi.py 中有以下一行:

from sched.app import app as application, db

但是planetplanet似乎不是一个可以通过这种方式加载的模块。

我试过:

from planet.planet import planet as application

但该操作失败,服务器上出现以下消息:

ImportError: No module named planet.planet

编辑:我发现 planetplanet 只是在我的输出目录中转储一个静态 index.html,所以我现在只需要确保 wsgi 应用程序指向我的输出目录来提供 html。

有什么指点/建议吗?

谢谢!

答案1

所以我做了这样的事情:

response_body = open(os.environ['OPENSHIFT_REPO_DIR'] + 'planet/virt/output/index.html').read()

在默认

def application

wsgi.py 脚本的一部分。这使得静态 html 可以工作,但显然没有 css。

但后来我发现 openshift 也在非 python 应用程序中提供了 python 二进制文件,所以我只需创建了一个 DIY 应用程序,导入 planetplanet 源,并使用 cron 脚本中的 python 来更新 feed;并使用 diy/ 目录中的默认 testrubyserver.rb 来提供 index.html。

答案2

在默认 def application 添加中

ctype = 'text/html'
open(os.environ['OPENSHIFT_REPO_DIR']+'/blabla.html') 

重要提示:不要忘记“text/html”返回类型。

相关内容