Подтвердить что ты не робот

Как настроить Django на OpenShift?

Недавно я попытался экспортировать проект Django на OpenShift, но бесплодно. Единственные решения, которые я нашел, были "предварительно построены" (например, https://github.com/openshift/django-example).

Я потратил несколько часов, пытаясь адаптировать его к моему проекту, но у меня всегда была ошибка внутреннего сервера.

Итак, как настроить django на openshift?

4b9b3361

Ответ 1

Я, наконец, понял это. Первое, что нужно сделать, это запустить приложение openshift и отредактировать файл setup.py:

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

Вам нужно раскомментировать "install_requires = ['Django >= 1.3']"

Затем вы можете передать серверу:

git commit -a -m "Initialization"
git push

По умолчанию он устанавливает django 1.4, но я думаю, что вы можете выбрать другую версию с правильной установкой в ​​setup.py. Во всяком случае, вам придется запустить ту же версию django на вашем компьютере и на сервере для следующих.

Создайте проект django:

cd wsgi
django-admin.py startproject PROJECTNAME

Затем вам нужно будет отредактировать файловое приложение, замените весь контент на:

#!/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 possible required libraries won't be in your searchable path
# 
from django.core.handlers import wsgi
application = wsgi.WSGIHandler()

Наконец, вы можете внести изменения:

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

Вы должны увидеть страницу приветствия django. Теперь вы можете редактировать настройки и импортировать свои приложения django без нежелательного контента.