تكوين Django و mod_python
-
02-10-2019 - |
سؤال
تم وضع مشروع Django الخاص بي /www/host1/htdocs/my/project
, www
و my
هي روابط إلى المجلدات الفعلية الأخرى. قام Apache بتمكين Mod_python. انا املك .htaccess
في project
مجلد:
SetHandler python-program
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE project.settings
PythonDebug On
PythonOption django.root /my/project
PythonPath "['/www/host1/htdocs/my/project'] + sys.path"
أفترض أن موقعي يجب أن يكون متاحًا من http://host1/my/project
, ، لكني أرى الخطأ التالي:
ImportError: Could not import settings 'project.settings' (Is it on sys.path? Does it have syntax errors?): No module named project.settings
هل يمكن لأحد أن يقدم أي اقتراحات؟
المحلول
يستخدم:
PythonPath "['/www/host1/htdocs/my', '/www/host1/htdocs/my/project'] + sys.path"
أي .. الوالدين ومجلد المشروع.
تأكد أيضًا من أن مستخدم Apache لديه حقوق في قراءة الأشياء في الدلائل والكتابة عند الاقتضاء.
نصائح أخرى
يحتوي ملف Conf الخاص بي على الأسطر التالية:
SetHandler python-program
PythonPath "['c:/projectparentdir']+sys.path"
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE project.settings
PythonOption django.root /project
PythonDebug On
الفرق الوحيد الذي يمكنني رؤيته هو أن مسار بيثون يشير إلى دليل الوالدين للمشاريع.
بعد استخدام Django لفترة من الوقت مع mod_python ، أنا حريص جدًا على تجربة mod_wsgi ، على ما يبدو طريقة أكثر قوة.