سؤال

وأنا أحاول أن استيراد sorl-المصغرات في بلدي التطبيق في جانغو. الآن الطريقة التي لدي موقع اقامة، وذلك باستخدام mod_wsgi على سينت أو إس 5 مع وحة التحكم، يجب أن يكون مسار التطبيقات اسم المشروع عند استيراد ... الذي هو الألم.

ومن الواضح أن هذا هو سبب للقلق مع قابلية التطبيق. أنا استيراد sorl-مصغرة، في التطبيقات السابقة واضاف لقد فقط sorl.thumbnail إلى التطبيقات المثبتة وانها عملت.

ولكن الآن انها تسبب مشاكل ما لم لدي www. اسم المشروع أمام مسار الاستيراد. انها لم تفعل هذا من قبل، وأنا لا يمكن أن يبدو للالتفاف على قضية المسار.

ولقد أضاف www.sorl.thumbnail أيضا ولكن بعد ذلك بقية المسارات في ملفات sorl دينا أخطاء. أي أفكار حول كيفية معالجة هذا أو إصلاح عمل حول؟

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

المحلول

ويجب أن لا تحتاج إلى استخدام اسم المشروع عند استيراد - فقط للتأكد من أن التطبيقات هي في مكان ما على الطريق الثعبان الخاص بك. شيء على غرار:

sys.path.append('/etc/django/domains/mydomain.com/myproject/')

... في ملف .wsgi الخاص بك ينبغي أن نفعل ذلك (مع المسار إلى المشروع الخاص بك، بالطبع).

ومن الناحية المثالية يجب أن تكون التطبيقات التي يمكن إعادة استخدامها خارج دليل المشروع الخاص بك على أي حال، والنظر في ذلك إنشاء مجلد مثل '/ الخ / جانغو / ليب /' لاحتواء التطبيقات التي يمكن إعادة استخدامها وإلحاق أن لsys.path في معالج WSGI الخاص بك أيضا.

وأو، إذا كنت لا تحب ذلك، وربما استخدام virtualenv وإضافة التطبيقات التي يمكن إعادة استخدامها مباشرة إلى حزم الموقع.

وأو، إذا كنت لا تحب ذلك، وضعت التطبيقات قابلة لإعادة الاستخدام الخاص بك في مكان آخر والرمزي لهم حزم الموقع أو في مكان ما على الطريق الثعبان الخاص بك.

وباختصار، فقط للتأكد من حزمة / وحدة كنت المستوردة هي على طريق بيثون الخاص بك. إذا وجدت نفسك بإضافة اسم المشروع أو "شبكة الاتصالات العالمية" لمجموعة من مسارات الاستيراد، ثم ربما كنت تفعل شيئا خاطئا.

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