23
我最近試圖在OpenShift上導出一個Django項目,但毫無結果。我發現的唯一解決方案是「預建」(如https://github.com/openshift/django-example)。如何在OpenShift上配置Django?
我花了幾個小時試圖將它適應到我的項目,但我總是得到一個內部服務器錯誤。
那麼,如何在openshift上設置Django?
我最近試圖在OpenShift上導出一個Django項目,但毫無結果。我發現的唯一解決方案是「預建」(如https://github.com/openshift/django-example)。如何在OpenShift上配置Django?
我花了幾個小時試圖將它適應到我的項目,但我總是得到一個內部服務器錯誤。
那麼,如何在openshift上設置Django?
我終於明白了。要做的第一件事就是啓動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's 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應用程序,而不需要不需要的內容
偉大的工作。謝謝! 對上述步驟的小擴展。 1.爲了讓你的靜態文件得到服務,你需要把它們放在'PROJECTNAME/wsgi/static'中。 2.在'PROJECTNAME/wsgi/static'中,你也應該把'admin'文件夾放在'site-packages/Django-xxx/django/contrib/admin/static/admin'中。否則,你會錯過靜態的Django Admin文件。 – orschiro 2013-07-24 06:26:45
不幸的是,當我嘗試你的解決方案時,我得到了503服務暫時不可用的錯誤。我按照我的項目名稱編輯了PROJECTNAME,並用python2.7編輯了這一行。似乎有一個OpenShift的項目文檔缺乏:( – shailenTJ 2013-08-07 21:32:45
我知道你剛剛編輯[這個文件](https://github.com/suhailvs/django-example/blob/master/wsgi/application),但仍然感謝對於GREAT WORK :) :))) – suhailvs 2013-10-01 07:24:06