使用manage.py runserver 而不是django-admin runserver 可能会为您节省一些troubles。
您的所有设置都应该在settings.py 文件中。
然后将其添加到 settings.py 文件的顶部:
import os
# a setting to determine whether we are running on OpenShift
DEBUG = True
ON_OPENSHIFT = False
if os.environ.has_key('OPENSHIFT_REPO_DIR'):
ON_OPENSHIFT = True
DEBUG = False
然后根据需要更改 localhost 和 openshift 的设置,例如数据库:
DATABASES = {}
if ON_OPENSHIFT:
url = urlparse.urlparse(os.environ.get('OPENSHIFT_POSTGRESQL_DB_URL'))
DATABASES['default'] = {
'ENGINE' : 'django.db.backends.postgresql_psycopg2',
'NAME': os.environ['OPENSHIFT_APP_NAME'],
'USER': url.username,
'PASSWORD': url.password,
'HOST': url.hostname,
'PORT': url.port,
}
else:
DATABASES['default'] = {
'ENGINE': 'django.db.backends.postgresql_psycopg2', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
'NAME': 'appname', # Or path to database file if using sqlite3.
# The following settings are not used with sqlite3:
'USER': 'user',
'PASSWORD': 'password',
'HOST': 'localhost', # Empty for localhost through domain sockets or '127.0.0.1' for localhost through TCP.
'PORT': '',
}
或者使用if not DEBUG 代替if ON_OPENSHIFT。