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?

War es hilfreich?

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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top