Wie konfiguriere ich Django auf OpenShift?[geschlossen]
Frage
Ich habe kürzlich versucht, ein Django-Projekt auf OpenShift zu exportieren, aber erfolglos.Die einzigen Lösungen, die ich gefunden habe, waren „vorgefertigte“ Lösungen (z. B https://github.com/openshift/django-example).
Ich habe einige Stunden damit verbracht, es an mein Projekt anzupassen, aber es wurde immer ein interner Serverfehler angezeigt.
Wie richtet man Django auf OpenShift ein?
Lösung
Endlich habe ich es herausgefunden.Als erstes müssen Sie eine OpenShift-App starten und die Datei setup.py bearbeiten:
rhc app create -a APPNAME -t python-2.6
cd APPNAME
vim setup.py
Sie müssen „install_requires=['Django>=1.3']“ auskommentieren.
Dann können Sie sich auf den Server festlegen:
git commit -a -m "Initialization"
git push
Standardmäßig wird Django 1.4 installiert, aber ich denke, Sie können in setup.py eine andere Version mit den richtigen Installationsanforderungen auswählen.Auf jeden Fall müssen Sie für Folgendes dieselbe Django-Version auf Ihrem Computer und dem Server ausführen.
Erstellen Sie Ihr Django-Projekt:
cd wsgi
django-admin.py startproject PROJECTNAME
Dann müssen Sie die Dateianwendung bearbeiten und den gesamten Inhalt ersetzen durch:
#!/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()
Abschließend können Sie die Änderungen übernehmen:
cd ..
git add .
git commit -a -m "Project Creation"
git push
Sie sollten die Django-Willkommensseite sehen.Jetzt können Sie die Einstellungen bearbeiten und Ihre Django-Apps ohne unerwünschte Inhalte importieren