OpenShift repo不包含在路径中

时间:2015-02-15 06:51:18

标签: openshift django-1.7 paas

我启动了一个Django 1.7 OpenShift实例。当我从sys.path开始python打印所有路径时,我看不到OPENSHIFT_REPO_DIR/var/lib/openshift/xxxxx/app-root/runtime/repo)。

当我使用https://github.com/jfmatth/openshift-django17创建项目时,我确实在路径中看到OPENSHIFT_REPO_DIR

通过上面的示例应用程序,我看不到任何地方特意添加到路径中。我错过了什么?

澄清: 我必须将以下内容添加到我的wsgi.py:

import os
import sys
ON_PASS = 'OPENSHIFT_REPO_DIR' in os.environ
if ON_PASS:
    x = os.path.abspath(os.path.join(os.environ['OPENSHIFT_REPO_DIR'], 'mysite'))
    sys.path.insert(1, x)
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")

OPENSHIFT_REPO_DIR不在我的路上,正如我所料。当我使用上面的示例git时,我不必在路径中添加任何内容。

2 个答案:

答案 0 :(得分:1)

一段时间后,我遇到了一些预配置的OpenShift环境变量的问题,直到我重新启动应用程序才出现。

为了它的价值,我启动了一个全新的Django设备,将环境变量打印到应用程序日志,并验证我确实看到了OPENSHIFT_REPO_DIR(以及所有其他环境变量)。

答案 1 :(得分:0)

此问题似乎是由于尝试使用django在使用startproject时产生的标准文件结构布局引起的。 Openshift似乎需要更平坦的文件结构。一旦我将wsgi移动到一个神秘的兄弟,它就解决了这个问题。