2012-07-27 4 views

Antwort

30

Ich habe es endlich herausgefunden. Das erste, was zu tun ist, eine Openshift App zu starten und die setup.py-Datei bearbeiten:

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

Sie müssen Kommentar- „install_requires = [‚Django> = 1,3‘]“

Dann können Sie verpflichten auf dem Server:

git commit -a -m "Initialization" 
git push 

standardmäßig installiert es django 1.4 aber ich denke, Sie eine andere Version mit der richtigen Anforderung in setup.py können wählen, installieren. Wie auch immer, du musst die gleiche Django-Version auf deinem Computer und dem Server für Folgendes ausführen.

Erstellen Sie Ihr django Projekt:

cd wsgi 
django-admin.py startproject PROJECTNAME 

Dann werden Sie die Datei Anwendung bearbeiten müssen, ersetzen Sie den gesamten Inhalt von:

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

Schließlich können Sie die Änderungen verpflichten:

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

Sie sollten die django willkommen Seite. Jetzt können Sie die Einstellungen bearbeiten und Ihre django Anwendungen ohne unerwünschte Inhalte

+4

Große Arbeit importieren. Vielen Dank! Geringfügige Erweiterung zu den obigen Schritten. 1. Damit Ihre statischen Dateien geliefert werden können, müssen Sie sie in 'PROJECTNAME/wsgi/static' setzen. 2. In 'PROJECTNAME/wsgi/static' sollten Sie auch den Ordner' admin' aus 'site-packages/Django-xxx/django/contrib/admin/static/admin' setzen. Andernfalls werden Sie die statischen Django Admin-Dateien vermissen. – orschiro

+5

Leider, als ich Ihre Lösung ausprobierte, bekam ich einen Fehler 503 Service vorübergehend nicht verfügbar. Ich habe PROJEKTNAME nach meinem Projektnamen bearbeitet und die Zeile mit python2.7 bearbeitet. Es scheint einen großen Mangel an Projektdokumentation für OpenShift zu geben :( – shailenTJ

+0

ich weiß, dass du gerade [diese Datei] bearbeitet hast (https://github.com/suhailvs/django-example/blob/master/wsgi/application), aber trotzdem danke für die große Arbeit :)))) – suhailvs