2012-07-27 19 views
23

मैंने हाल ही में ओपनशफ्ट पर एक Django परियोजना निर्यात करने की कोशिश की, लेकिन फलहीनता से। मुझे मिले एकमात्र समाधान "प्रीबिल्ट" थे (जैसे https://github.com/openshift/django-example)।ओपनशफ्ट पर Django को कैसे कॉन्फ़िगर करें?

मैंने अपने प्रोजेक्ट में इसे अनुकूलित करने की कोशिश करने में कुछ घंटे बिताए लेकिन मुझे हमेशा एक आंतरिक सर्वर त्रुटि मिली।

तो, openshift पर django कैसे सेट करें?

उत्तर

30

मुझे अंत में यह पता चला।

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

आप uncomment करने के लिए "install_requires = [ 'Django> = 1.3']"

तो फिर तुम प्रतिबद्ध कर सकते हैं की जरूरत है: करने के लिए पहली बात यह है एक OpenShift एप्लिकेशन शुरू करने और setup.py फ़ाइल को संपादित करने के लिए है सर्वर के लिए:

git commit -a -m "Initialization" 
git push 

डिफ़ॉल्ट रूप से, यह Django 1.4 स्थापित करता है लेकिन मुझे लगता है कि आप सही के साथ एक और संस्करण setup.py में आवश्यकता स्थापित चुन सकते हैं। वैसे भी, आपको अपने कंप्यूटर पर और उसी के लिए सर्वर पर एक ही django संस्करण चलाने होंगे।

cd wsgi 
django-admin.py startproject PROJECTNAME 

तो फिर तुम, फ़ाइल एप्लिकेशन को संपादित करना होगा द्वारा पूरी सामग्री को प्रतिस्थापित:

अपने Django प्रोजेक्ट बना

#!/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' में आपको 'admin-folder/Django-xxx/django/contrib/admin/static/admin' से' admin' फ़ोल्डर भी रखना चाहिए। अन्यथा आप स्थैतिक Django व्यवस्थापक फ़ाइलों को याद करेंगे। – orschiro

+5

दुर्भाग्य से जब मैंने आपके समाधान की कोशिश की, तो मुझे 503 सेवा अस्थायी रूप से अनुपलब्ध त्रुटि मिली। मैंने अपने प्रोजेक्ट नाम के अनुसार PROJECTNAME संपादित किया और लाइन को python2.7 के साथ संपादित किया। ओपनशफ्ट के लिए प्रोजेक्ट प्रलेखन की एक बड़ी कमी प्रतीत होती है :( – shailenTJ

+0

मुझे पता है कि आपने अभी संपादित किया है [यह फ़ाइल] (https://github.com/suhailvs/django-example/blob/master/wsgi/application) लेकिन फिर भी धन्यवाद ग्रेट वर्क के लिए :))) – suhailvs

संबंधित मुद्दे