سؤال

تم وضع مشروع 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 ، على ما يبدو طريقة أكثر قوة.

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