2012-07-27 20 views

risposta

30

Finalmente ho capito. La prima cosa da fare è quello di iniziare un app OpenShift e modificare il file setup.py:

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

È necessario rimuovere il commento "install_requires = [ 'Django> = 1.3']"

Poi si possono commettere al server:

git commit -a -m "Initialization" 
git push 

per impostazione predefinita, viene installato Django 1.4, ma penso che si può scegliere un'altra versione con la corretta installazione requisito in setup.py. Ad ogni modo, dovrai eseguire la stessa versione di django sul tuo computer e sul server per quanto segue.

creare il progetto django:

cd wsgi 
django-admin.py startproject PROJECTNAME 

allora si dovrà modificare l'applicazione di file, sostituire l'intero contenuto da:

#!/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, si può commettere le 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 di django senza contenuti indesiderati

+4

Ottimo lavoro. Grazie! Estensione minore ai passaggi precedenti. 1. Per poter pubblicare i file statici, è necessario inserirli in 'PROJECTNAME/wsgi/static'. 2. In 'PROJECTNAME/wsgi/static' si dovrebbe anche posizionare la cartella' admin' da 'site-packages/Django-xxx/django/contrib/admin/static/admin'. Altrimenti mancherete i file statici di Django Admin. – orschiro

+5

Sfortunatamente quando ho provato la soluzione, ho ricevuto un errore temporaneo non disponibile del servizio 503. Ho modificato PROJECTNAME come per il nome del mio progetto e modificato la riga con python2.7. Sembra esserci un'enorme mancanza di documentazione di progetto per OpenShift :( – shailenTJ

+0

so che hai appena modificato [questo file] (https://github.com/suhailvs/django-example/blob/master/wsgi/application) ma ancora grazie per il GRANDE LAVORO :)))) – suhailvs

Problemi correlati