سؤال

من المفترض أن أقوم ببناء بعض تطبيقات Django ، والتي تسمح لك بإدارة مواقع متعددة من خلال الواجهة الخلفية. ال contrib.sites الإطار مثالي تمامًا لأغراضي. يمكنني تشغيل مثيلات متعددة manage.py مع إعدادات مختلفة لكل موقع ؛ ولكن كيف ينبغي أن يتعامل مسؤول Django مع إعدادات مختلفة لمواقع مختلفة ، على سبيل المثال. إذا كانت لديهم مجموعات مختلفة من اللغات ، لغة مختلفة (افتراضية)؟ لذلك هناك بعض المشكلات التي يجب مواجهتها إذا كان عليك العمل على كائنات قادمة من مواقع مختلفة في مسؤول واحد ...

أظن settings.ADMIN_FOR من المفترض أن يكون مفيدًا تمامًا لحالات كهذه ، ولكن بالكاد لا يوجد أي وثائق حول هذا الموضوع وأعتقد أنه لا يستخدم حقًا في إصدار Django الفعلي (؟).

لذلك أي أفكار/حلول موضع ترحيب وتقدير كبير! شكرًا جزيلاً...

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

المحلول

هناك قديم منشور المدونة من قبل جيمس بينيت والتي قد تكون مفيدة:

  1. قم بإنشاء كائن موقع جديد في المسؤول الخاص بك لكل مجال ، ووضع معرف هذا الموقع في ملف الإعدادات الخاص به كـ site_id حتى يعرف Django أي موقع في قاعدة البيانات يتوافق مع ملف الإعدادات هذا.
  2. في ملف الإعدادات لموقعك الأصلي (الموقع الذي يحتوي على المعرف 1) ، أضف ملفات إعدادات المواقع الأخرى إلى إعداد admin_for ، لإعلام Django أن هذه الحالة الواحدة من تطبيق المسؤول سوف تتعامل مع جميع المواقع.

كما هو موثق admin_for (الذي لا يمكنني نشره من أجل الرابط) يجب أن يكون بمثابة وحدات الإعدادات مثل instaled_apps هو tuple من وحدات تطبيق Django.

لاحظ أن منشور المدونة هو من عام 2006 ، لذا فهو يستخدم واجهة برمجة تطبيقات قديمة.

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