1

我在 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提交,其中 Django 的 install_requires 从 >=1.3 更改为 <=1.4 以处理相同的问题。但我仍然无法弄清楚导致服务器 500 的原因以及我们如何在 openshift 上安装 Django 1.5

4

3 回答 3

1

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

它也可能来自{% url %}标签语法更改,请参见此处

于 2013-04-22T15:51:19.367 回答
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 所指,尝试使用允许的主机设置设置

于 2014-07-30T09:30:20.757 回答
0

当我在 OpenShift 上安装 Django 应用程序时,Django 版本是 1.5.1。我认为 OpenShift 安装了最后一个版本的 Django,因为条件 Django >= 1.4,即没有低于这个版本。

那是屏幕截图,当我安装应用程序时 在此处输入图像描述

于 2013-04-21T22:32:10.593 回答