Pergunta

Recentemente tentei exportar um projeto Django no OpenShift, mas sem sucesso.As únicas soluções que encontrei foram as "pré-construídas" (como https://github.com/openshift/django-example).

Passei algumas horas tentando adaptá-lo ao meu projeto, mas sempre recebia um erro interno do servidor.

Então, como configurar o Django no openshift?

Foi útil?

Solução

Eu finalmente descobri.A primeira coisa a fazer é iniciar um aplicativo openshift e editar o arquivo setup.py:

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

Você precisa descomentar "install_requires=['Django>=1.3']"

Então você pode confirmar com o servidor:

git commit -a -m "Initialization"
git push

Por padrão, ele instala o Django 1.4, mas acho que você pode escolher outra versão com os requisitos de instalação corretos em setup.py.De qualquer forma, você terá que executar a mesma versão do Django no seu computador e no servidor para o seguinte.

Crie seu projeto Django:

cd wsgi
django-admin.py startproject PROJECTNAME

Então você terá que editar o arquivo application, substituir todo o conteúdo 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()

Finalmente, você pode confirmar as modificações:

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

Você deverá ver a página de boas-vindas do Django.Agora você pode editar as configurações e importar seus aplicativos Django sem conteúdo indesejado

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top