2012-07-27 4 views
23

최근에 OpenShift에서 Django 프로젝트를 내보내려고했으나 아무 효과가 없었습니다. 내가 찾은 유일한 해결책은 "미리 만들어진 것"이었습니다 (예 : https://github.com/openshift/django-example).OpenShift에서 Django를 구성하는 방법은 무엇입니까?

나는 그것을 내 프로젝트에 적용하려고 몇 시간을 보냈지만 항상 내부 서버 오류가 발생합니다.

그래서 opensshift에서 django를 설정하는 방법은 무엇입니까?

답변

30

나는 그것을 마침내 발견했습니다.

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

당신은 "install_requires는 = [ '장고> = 1.3']"다음

커밋 할 수 주석을 해제해야 할 첫 번째 일은는 openshift 응용 프로그램을 시작하고 setup.py 파일을 편집하는 것입니다 서버에 기본적으로

git commit -a -m "Initialization" 
git push 

, 그것은 장고 1.4를 설치하지만 난 당신이 올바른 또 다른 버전은 setup.py에서 요구 사항을 설치 선택할 수 있다고 생각합니다. 어쨌든, 당신은 컴퓨터와 서버에서 다음과 같은 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 앱을 가져올 수 있습니다.

+4

위대한 작품입니다. 감사! 위의 단계를 약간 확장합니다. 1. 정적 파일을 서비스하려면 'PROJECTNAME/wsgi/static'에 넣어야합니다. 2.'PROJECTNAME/wsgi/static'에'site-packages/Django-xxx/django/contrib/admin/static/admin'의'admin' 폴더를 두어야합니다. 그렇지 않으면 정적 인 Django Admin 파일을 놓치게됩니다. – orschiro

+5

불행히도 귀하의 솔루션을 시도 할 때 503 Service Temporarily Unavailable (서비스 일시적으로 사용할 수 없음) 오류가 발생했습니다. 내 프로젝트 이름대로 PROJECTNAME을 (를) 편집하고 python2.7로이 줄을 편집했습니다. OpenShift에 대한 프로젝트 문서가 크게 부족한 것 같습니다. ( – shailenTJ

+0

나는 [이 파일] (https://github.com/suhailvs/django-example/blob/master/wsgi/application)을 편집했지만 아직 감사합니다. 대단한 일 :) :))) – suhailvs

관련 문제