تعرف على كيفية تنشيط وضع الصيانة بشكل فعال على تطبيق Django مع ضمان تجربة سلسة لمستخدميك.

يعد وضع تطبيق Django في وضع الصيانة أمرًا بالغ الأهمية عند إجراء التحديثات أو حل المشكلات الفنية أو إجراء تغييرات مهمة على تطبيقك.

من خلال تقييد وصول المستخدم مؤقتًا وعرض صفحة الصيانة ، يمكنك توصيل الرسائل المهمة ، وضمان عملية تحديث سلسة ، ومنع التعارضات المحتملة أو فقدان البيانات.

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

كيفية استخدام حزمة Django-Maintenance-Mode

نظرًا لدعمها المجتمعي الواسع ، تقدم Django مجموعة واسعة من الحزم التي يمكن أن تعزز بشكل كبير عملية التطوير الخاصة بك ، مما يتيح لك العمل بشكل أسرع وأكثر كفاءة. تعمل هذه الحزم على تخفيف عبء المهام المتكررة ، مما يضمن لك تجربة أكثر سلاسة كمطور.

إحدى الحزم التي قدمتها Django هي ملف django- وضع الصيانة الحزمة التي يمكنك استخدامها لوضع تطبيق Django في وضع الصيانة. ال django- وضع الصيانة تعمل الحزمة من خلال عرض صفحة لـ 503رمز حالة HTTP. يمكنك استخدام django- وضع الصيانة في تطبيقك بالخطوات التالية.

instagram viewer

الخطوة 1: قم بتثبيت Django-Maintenance-Mode في بيئتك الافتراضية

  1. في الخاص بك البيئة الافتراضية للمشروع، قم بتثبيت الحزمة باستخدام مدير حزمة Python pip. قم بتشغيل هذا الأمر في ملف واجهة سطر الأوامر (CLI):
    نقطة تثبيت وضع django- الصيانة
  2. بعد تثبيت الحزمة ، أضف نمط الصيانة الى INSTALLED_APPS قائمة في الخاص بك settings.py ملف:
    INSTALLED_APPS = [
    # بعض التطبيقات الأخرى ،
    'نمط الصيانة',
    ]
  3. بعد ذلك ، أضف البرامج الوسيطة لـ django- وضع الصيانة الى MIDDLEWARE قائمة في الخاص بك settings.py ملف:
    MIDDLEWARE = ​​[
    # بعض البرامج الوسيطة الأخرى بواسطة django ،
    'Maintenance_mode.middleware. MaintenanceModeMiddleware ',
    ]

الخطوة 2: قم بإنشاء قالب HTML لعرض رسالة وضع الصيانة

بالنسبة إلى django- وضع الصيانة الحزمة لعرض صفحة خطأ 503 ، فإنه يبحث عن ملف 503.html ملف في ملف القوالب الدليل. لإعداد هذا ، قم بما يلي:

  1. قم بإنشاء مجلد يسمى القوالب في الدليل الجذر الخاص بك.
  2. افتح ملف القوالب مجلد وإنشاء ملف يسمى 503.html.
  3. في الخاص بك settings.py ملف ، حدد موقع ملف القوالب الإعدادات وتكوين ملف DIRS قائمة بها مثل هذا:
    "DIRS": [BASE_DIR /"قوالب"],
  4. افتح 503.html ملف واكتب رمز HTML لعرض رسالة خطأ للمستخدمين. إليك رمز بسيط يمكنك استخدامه:
    لغة البرمجة>
    <لغة البرمجة>
    <رأس>
    <ميتامحارف="UTF-8">
    <عنوان>503 الخدمة غير متوفرةعنوان>
    <أسلوب>
    جسم {
    عائلة الخطوط: Arial، sans-serif؛
    لون الخلفية: # f5f5f5 ؛
    الهامش: 0؛
    حشوة: 0 ؛
    }

    .container-503 {
    أقصى عرض: 600 بكسل ؛
    الهامش: 100 بكسل تلقائي ؛
    محاذاة النص: مركز ؛
    }

    h1 {
    حجم الخط: 48 بكسل ؛
    اللون: # 333333 ؛
    الهامش السفلي: 20 بكسل ؛
    }

    ص {
    حجم الخط: 18 بكسل ؛
    اللون: # 666666 ؛
    الهامش السفلي: 30 بكسل ؛
    }

    .btn-503 {
    عرض: مضمنة كتلة ؛
    الحشو: 12 بكسل 24 بكسل ؛
    لون الخلفية: # 007bff ؛
    اللون: #ffffff ؛
    زخرفة النص: لا شيء ؛
    نصف قطر الحدود: 4 بكسل ؛
    حجم الخط: 18 بكسل ؛
    }
    أسلوب>
    رأس>
    <جسم>
    <شعبةفصل = "الحاوية -503">
    <h1>503 الخدمة غير متوفرةh1>
    <ص>
    أُووبس! نحن نعمل حاليا على بعض التحديثات.
    نأسف للإزعاج ونقدر سعة صدرك.
    ص>
    <ص>يرجى زيارة الموقع لاحقًا أو الاتصال بفريق الدعم الخاص بناص>
    <أhref = "mailto: [email protected]"فصل = "btn-503">
    اتصل بالدعم
    أ>
    شعبة>
    جسم>
    لغة البرمجة>

الخطوة 3: قم بتشغيل وضع الصيانة وأعد تشغيل الخادم الخاص بك

في الخاص بك settings.py ملف ، أضف هذا الرمز لتشغيل وضع الصيانة:

MAINTENANCE_MODE = حقيقي

أعد تشغيل خادم التطوير الخاص بك عن طريق تشغيل هذا في CLI الخاص بك:

بيثون MANAGER.py runserver

عندما تنتقل إلى موقع الويب الخاص بك ، يجب أن تشاهد صفحة الصيانة التي قمت بإنشائها.

كيفية تجاهل موقع الإدارة في وضع الصيانة على Django

للسماح لموقع المسؤول الخاص بك بالاستمرار في العمل حتى في وضع الصيانة ، فإن ملف django- وضع الصيانة يوفر إعداد يسمى MAINTENANCE_MODE_IGNORE_ADMIN_SITE. يجب عليك إضافة هذا الإعداد في ملف settings.py ملف وضبطه على حقيقي:

MAINTENANCE_MODE_IGNORE_ADMIN_SITE = حقيقي

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

كيفية تجاهل عرض معين قائم على الوظائف في وضع صيانة Django

ال وضع django- الصيانة توفر الحزمة مصممًا لمنع عرض أو صفحة معينة — مثل ملف عن صفحة موقعك - ​​من الانتقال إلى وضع الصيانة. للقيام بذلك ، قم أولاً باستيراد المصمم إلى ملف views.py وحدة:

من Maintenance_mode.decorators يستورد فرض_صيانة_وضع_إيقاف

بعد استيراد الديكور ، قم بإضافته إلى طريقة العرض الخاصة بك كما يلي:

تضمين التغريدة
defview_name(طلب):
# تنفيذ منطق العرض
# لا تُرجع أبدًا استجابة 503

بعد تنفيذ مصمم الديكور بشكل صحيح ، سيصبح عنوان URL لهذا العرض المحدد متاحًا للمستخدمين.

كيفية تجاهل عرض محدد على أساس الفصل في وضع صيانة Django

يتشابه تجاهل العرض المستند إلى الفصل مع تجاهل العرض المستند إلى الوظيفة. ومع ذلك ، فإن أفضل نهج هو القيام بذلك في urls.py ملف.

أولاً ، تحتاج إلى استيراد ملف فرض_صيانة_وضع_إيقاف مصمم في تطبيقك urls.py ملف. ثم تحتاج إلى إدراجه في مسار URL الخاص بك. هذا مثال:

من Maintenance_mode.decorators يستورد فرض_صيانة_وضع_إيقاف
من .الآراء يستورد وجهة نظركم

أنماط عنوان url = [
# لا تُرجع أبدًا استجابة 503
طريق(''، force_maintenance_mode_off (YourView.as_view ()) ، الاسم ='وجهة نظري'),
]

تأكد أيضًا من استيراد الأشياء الضرورية الأخرى مثل طريق ووجهة نظرك القائمة على الفصل.

كيفية تشغيل وضع الصيانة لعرض معين يعتمد على الوظيفة

  1. لتشغيل وضع الصيانة لعرض واحد ، أولاً ، قم بإيقاف تشغيل وضع الصيانة في ملف settings.py ملف من خلال القيام بذلك:
    MAINTENANCE_MODE = خطأ شنيع
  2. بعد ذلك ، في ملف views.py ، يجب عليك استيراد ملف القوة_الصيانة_الوضع_على الديكور وإضافته إلى وجهة نظرك:
    من Maintenance_mode.decorators يستورد القوة_الصيانة_الوضع_على

    تضمين التغريدة
    defview_name(طلب):
    # أداء منطق العرض
    # قم دائمًا بإرجاع استجابة 503

كيفية تشغيل وضع الصيانة لعرض محدد يعتمد على الفئة

  1. أولاً ، يجب عليك إيقاف تشغيل وضع الصيانة في ملف settings.py ملف:
    MAINTENANCE_MODE = خطأ شنيع
  2. بعد ذلك ، في ملف urls.py، يجب عليك استيراد ملف القوة_الصيانة_الوضع_على decorator وأضفه إلى مسار URL المطلوب:
    من Maintenance_mode.decorators يستورد القوة_الصيانة_الوضع_على
    من .الآراء يستورد وجهة نظركم

    أنماط عنوان url = [
    # قم دائمًا بإرجاع استجابة 503
    طريق(''، force_maintenance_mode_on (YourView.as_view ()) ، الاسم ='وجهة نظري'),
    ]

كيفية استخدام اسم قالب مختلف لوضع صيانة Django

بشكل افتراضي ، فإن ملف django- وضع الصيانة تبحث الحزمة عن أ القوالب / 503.html نموذج. يمكنك أن تقرر تجاوز هذا في ملف settings.py ملف.

لنفترض أن لديك مجلدًا منفصلاً للتعامل مع الأخطاء في تطبيقك ؛ سوف ترغب في تضمين الخاص بك 503.html في هذا المجلد. لذلك سيكون القالب الخاص بك بتنسيق قوالب / أخطاء / 503.html.

الإعداد الافتراضي لهذا التكوين هو:

MAINTENANCE_MODE_TEMPLATE = "503.html"

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

MAINTENANCE_MODE_TEMPLATE = "أخطاء / 503.html"

يمكنك أيضًا تغيير اسم الملف إذا كنت تريد ، وسيعمل كل شيء بشكل جيد إذا قمت بإضافة التكوينات اللازمة.

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

استخدم وضع الصيانة لضمان تحديثات سلسة وتجربة مستخدم محسّنة في تطبيقك

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

لن يسمح لك استخدام وضع الصيانة بإجراء التحديثات الضرورية بكفاءة فحسب ، بل يوضح أيضًا الالتزام بتوفير تجربة سلسة وغير منقطعة للمستخدمين.

بصرف النظر عن وضع الصيانة ، يمكنك أيضًا توفير قوالب مخصصة لأخطاء أخرى في Django.