Openshift:安装Django 1.5会导致Server 500错误

时间:2013-04-21 07:35:02

标签: django python-2.7 openshift django-1.5

我在Openshift上创建了一个Django 1.3应用程序。 我想升级到Django 1.5。所以我更新了setup.py来安装Django 1.5

#!/usr/bin/env python

from setuptools import setup

setup(
    name='<Application name>',
    version='1.0',
    description='',
    author='',
    author_email='',
    url='http://www.python.org/sigs/distutils-sig/',
    install_requires=['Django>=1.5'],
)

服务器返回http 500。

如果setup.py有install_requires=['Django<=1.4'],则可以正常使用。

如何在Openshift上安装Django 1.5?

更新:我可以看到一个github commit,其中Django的install_requires从&gt; = 1.3更改为&lt; = 1.4,以处理同样的问题。但我仍然无法弄清楚导致服务器500的原因以及我们如何在openshift上安装Django 1.5

3 个答案:

答案 0 :(得分:1)

它可能来自您的代码,您是否检查了版本notes中提到的向后不兼容性(主要是您在settings.py中需要的ALLOWED_HOSTS)

它也可能来自{% url %}标记语法更改,请参阅here

答案 1 :(得分:0)

当我在OpenShift上安装Django应用程序时,Django版本为1.5.1。我认为OpenShift安装了最新版本的Django,因为条件Django&gt; = 1.4,这个版本就没有了。

这是截图,当我安装应用程序时 enter image description here

答案 2 :(得分:0)

我遇到了同样的问题:从你的截图中你使用 python2.6

尝试使用python2.7将此配置放在应用程序文件中:

#!/usr/bin/env python

import os
import sys

sys.path.append(os.path.join(os.environ['OPENSHIFT_REPO_DIR']))

os.environ['DJANGO_SETTINGS_MODULE'] = 'mywebsite.settings'

virtenv = os.environ['OPENSHIFT_HOMEDIR'] + 'python/virtenv/'
os.environ['PYTHON_EGG_CACHE'] = os.path.join(virtenv, 'lib/python2.7/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
#

import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()

正如@Charles L所述,尝试使用allowed host

设置设置