2012-07-27 2 views

Répondre

30

J'ai finalement compris. La première chose à faire est de commencer une application OpenShift et modifier le fichier setup.py:

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

Vous devez supprimer « install_requires = [ « Django> = 1.3 »] »

Ensuite, vous pouvez engager au serveur:

git commit -a -m "Initialization" 
git push 

par défaut, il installe django 1.4 mais je pense que vous pouvez choisir une autre version avec l'installation correcte exigence setup.py. Quoi qu'il en soit, vous devrez exécuter la même version django sur votre ordinateur et le serveur pour ce qui suit.

Créer votre projet django:

cd wsgi 
django-admin.py startproject PROJECTNAME 

Ensuite, vous devrez modifier l'application de fichier, remplacez tout le contenu par:

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

Enfin, vous pouvez valider les modifications:

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

Vous devriez voir la page d'accueil de django. Maintenant, vous pouvez modifier les paramètres et importer vos applications django sans contenu indésirable

+4

Excellent travail. Merci! Extension mineure aux étapes ci-dessus. 1. Pour que vos fichiers statiques soient servis, vous devez les placer dans 'PROJECTNAME/wsgi/static'. 2. Dans 'PROJECTNAME/wsgi/static', vous devez également placer le dossier' admin' de 'site-packages/Django-xxx/django/contrib/admin/static/admin'. Sinon, vous manquerez les fichiers statiques Django Admin. – orschiro

+5

Malheureusement, lorsque j'ai essayé votre solution, j'ai reçu une erreur 503 Service Temporally Unavailable. J'ai édité PROJECTNAME selon mon nom de projet et édité la ligne avec python2.7. Il semble y avoir un énorme manque de documentation de projet pour OpenShift: ( – shailenTJ

+0

je sais que vous venez de modifier [ce fichier] (https://github.com/suhailvs/django-example/blob/master/wsgi/application) mais toujours merci pour le GRAND TRAVAIL :)))) – suhailvs

Questions connexes