我最近尝试在 OpenShift 上导出 Django 项目,但没有成功。我发现的唯一解决方案是“预构建”的解决方案(例如 https://github.com/openshift/django-example).

我花了几个小时尝试使其适应我的项目,但总是出现内部服务器错误。

那么,如何在 openshift 上设置 django 呢?

有帮助吗?

解决方案

我终于弄明白了。首先要做的是启动 openshift 应用程序并编辑 setup.py 文件:

rhc app create -a APPNAME -t python-2.6
cd APPNAME
vim setup.py

您需要取消注释“install_requires=['Django>=1.3']”

然后你可以提交到服务器:

git commit -a -m "Initialization"
git push

默认情况下,它安装 django 1.4,但我认为您可以在 setup.py 中选择具有正确安装要求的另一个版本。无论如何,您必须在计算机和服务器上运行相同的 django 版本才能执行以下操作。

创建您的 Django 项目:

cd wsgi
django-admin.py startproject PROJECTNAME

然后您必须编辑文件应用程序,将整个内容替换为:

#!/usr/bin/python
import os, sys

os.environ['DJANGO_SETTINGS_MODULE'] = 'PROJECTNAME.settings'
sys.path.append(os.path.join(os.environ['OPENSHIFT_REPO_DIR'], 'wsgi',
    'PROJECTNAME'))

virtenv = os.environ['APPDIR'] + '/virtenv/'
os.environ['PYTHON_EGG_CACHE'] = os.path.join(virtenv, 'lib/python2.6/site-packages')
virtualenv = os.path.join(virtenv, 'bin/activate_this.py')

try:
    execfile(virtualenv, dict(__file__=virtualenv))
except IOError:
    pass

#
# IMPORTANT: Put any additional includes below this line.  If placed above this
# line, it's possible required libraries won't be in your searchable path
# 
from django.core.handlers import wsgi
application = wsgi.WSGIHandler()

最后,您可以提交修改:

cd ..
git add .
git commit -a -m "Project Creation"
git push

您应该看到 django 欢迎页面。现在您可以编辑设置并导入 django 应用程序,而无需包含不需要的内容

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top