Domanda

Recentemente ho provato a esportare un progetto Django su OpenShift, ma inutilmente.Le uniche soluzioni che ho trovato erano quelle "precostruite" (come https://github.com/openshift/django-example).

Ho passato alcune ore cercando di adattarlo al mio progetto ma ho sempre avuto un errore interno del server.

Quindi, come configurare django su openshift?

È stato utile?

Soluzione

Finalmente l'ho capito.La prima cosa da fare è avviare un'app openshift e modificare setup.py file :

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

È necessario decommentare " install_requires=['Django > =1.3']"

Quindi puoi eseguire il commit sul server :

git commit -a -m "Initialization"
git push

Per impostazione predefinita, installa django 1.4 ma penso che tu possa scegliere un'altra versione con il requisito di installazione corretto in setup.py.Ad ogni modo, dovrai eseguire la stessa versione di django sul tuo computer e sul server per quanto segue.

Crea il tuo progetto django :

cd wsgi
django-admin.py startproject PROJECTNAME

Quindi dovrai modificare l'applicazione del file, sostituire l'intero contenuto con :

#!/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()

Infine, è possibile eseguire il commit delle modifiche :

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

Dovresti vedere la pagina di benvenuto di django.Ora puoi modificare le impostazioni e importare le tue app django senza contenuti indesiderati

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top