路径中不包含 OpenShift 存储库

OpenShift repo not included in path

我启动了一个 Django 1.7 OpenShift 实例。当我 python 打印来自 sys.path 的所有路径时,我没有看到 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 时,我不必向路径添加任何内容。

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

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

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