سؤال

لقد حاولت مؤخرًا تصدير مشروع Django إلى OpenShift، ولكن دون جدوى.الحلول الوحيدة التي وجدتها هي الحلول "المُعدة مسبقًا" (مثل https://github.com/openshift/Django-example).

لقد أمضيت بضع ساعات في محاولة تكييفه مع مشروعي ولكنني كنت أتلقى دائمًا خطأ داخليًا في الخادم.

لذا، كيفية إعداد جانغو على openshift؟

هل كانت مفيدة؟

المحلول

وأخيرا حظيت بها.أول ما عليك فعله هو تشغيل تطبيق 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 على جهاز الكمبيوتر الخاص بك والخادم لما يلي.

قم بإنشاء مشروع جانغو الخاص بك:

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 الخاصة بك دون محتوى غير مرغوب فيه

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top