2012-07-27 10 views

Respuesta

30

Finalmente lo descubrí. Lo primero que debe hacer es comenzar una aplicación OpenShift y editar el archivo setup.py:

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

Es necesario eliminar el comentario "install_requires = [ 'Django> = 1,3']"

entonces se puede cometer al servidor:

git commit -a -m "Initialization" 
git push 

Por defecto, se instala Django 1.4, pero creo que se puede elegir otra versión con la correcta instalación requisito en setup.py. De todos modos, tendrás que ejecutar la misma versión de django en tu computadora y en el servidor para lo siguiente.

Crea tu proyecto de Django:

cd wsgi 
django-admin.py startproject PROJECTNAME 

entonces usted tendrá que editar el archivo de la aplicación, vuelva a colocar todo el contenido publicado por:

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

Por último, puede comprometer las modificaciones:

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

Debería ver la página de bienvenida de django. Ahora puede editar la configuración e importar sus aplicaciones django sin contenido no deseado

+4

Excelente trabajo. ¡Gracias! Extensión menor a los pasos anteriores. 1. Para que se publiquen sus archivos estáticos, debe colocarlos en 'PROJECTNAME/wsgi/static'. 2. En 'PROJECTNAME/wsgi/static' también debe colocar la carpeta' admin' de 'site-packages/Django-xxx/django/contrib/admin/static/admin'. De lo contrario, perderá los archivos estáticos de Django Admin. – orschiro

+5

Desafortunadamente, cuando probé su solución, recibí un error de 503 Service temporalmente no disponible. Edité PROJECTNAME según el nombre de mi proyecto y edité la línea con python2.7. Parece que hay una gran falta de documentación de proyecto para OpenShift :( – shailenTJ

+0

Sé que acaba de editar [este archivo] (https://github.com/suhailvs/django-example/blob/master/wsgi/application) pero aún así, gracias para el GRAN TRABAJO :)))) – suhailvs

Cuestiones relacionadas