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

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

إنشاء صفحة 404 مخصصة في Django

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

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

الخطوة 1: إنشاء عرض لمعالجة الخطأ 404

افتح views.py ملف وإنشاء عرض لصفحة الخطأ 404. يجب أن يعرض هذا العرض نموذجًا يحتوي على تصميم صفحة الخطأ 404 المخصصة الخاصة بك. إليك طريقة عرض Django البسيطة التي يمكنك استخدامها في مشروعك:

من django.shortcuts يستورد يجعل

# عرض 404 مخصص
defمخصص_404(طلب ، استثناء):
يعود تقديم (طلب ، "404.html"، الحالة =404)

instagram viewer

مقتطف الشفرة أعلاه هو ملف دالة بايثون (يُفضل أن يطلق عليها طريقة عرض Django في هذه الحالة) تأخذ وسيطتين وظيفيتين ؛ طلب، و استثناء. الحجة الثانية -استثناء—يتيح لك الوصول إلى كائن الاستثناء الذي تسبب في ظهور الخطأ 404.

يجب عليك استبدال "404.html" في العرض أعلاه بالمسار الصحيح لصفحة الخطأ 404 HTML.

الخطوة 2: قم بإنشاء نموذج لخطأ 404 الخاص بك

قم بإنشاء ملف HTML جديد ليحتوي على التصميم المخصص لصفحة الخطأ 404. يجب أن يكون التصميم متسقًا مع بقية التطبيق الخاص بك. إليك نموذج HTML بسيط يمكنك استخدامه في مشروعك. يجب عليك تعديل هذا النموذج كما تراه مناسبًا:

 نموذج 404.html 
لغة البرمجة>
<لغة البرمجةلانج="ar">
<رأس>
<ميتامحارف="UTF-8">
<ميتااسم="منفذ العرض"محتوى="العرض = عرض الجهاز ، المقياس الأولي = 1.0">
<عنوان>404 الصفحة غير موجودةعنوان>
<وصلة
استيراد Bootstrap
href = " https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css"
rel = "stylesheet"
النزاهة = "sha384-KK94CHFLLe + nY2dmCWGMq91rCGa5gtU4mk92HdvYe + M / SXH301p5ILy + dN9 + nJOZ"
crossorigin = "مجهول">
لغة تنسيق ويب حسب الطلب
<أسلوب>
جسم {
العرض: فليكس ؛
الاتجاه المرن: العمود.
تبرير المحتوى: مركز ؛
محاذاة العناصر: مركز ؛
الارتفاع: 100 فولت
عائلة الخطوط: Arial، sans-serif؛
}

.حاوية {
محاذاة النص: مركز ؛
أقصى عرض: 600 بكسل ؛
}

.emoji {
حجم الخط: 8rem ؛
الهامش السفلي: 20 بكسل ؛
}

h1 {
حجم الخط: 3rem ؛
الهامش السفلي: 20 بكسل ؛
}

ص {
حجم الخط: 1.5rem ؛
الهامش السفلي: 20 بكسل ؛
}

.btn {
حجم الخط: 1.25rem ؛
الحشو: 10 بكسل 20 بكسل ؛
}
أسلوب>
رأس>
<جسم>
<شعبةفصل="حاوية">
<شعبةفصل="الرموز التعبيرية">😕شعبة>
<h1>أُووبس! الصفحة غير موجودةh1>
<ص>لم نتمكن من العثور على الصفحة التي تبحث عنها.ص>
<أفصل="btn-basic"href="/">ارجع إلى الصفحة الرئيسيةأ>
شعبة>
جسم>
لغة البرمجة>

الخطوة 3: تعديل ملف عناوين URL الخاص بمشروعك

على مستوى مشروعك (حيث لديك settings.py الملف) ، افتح ملف urls.py ملف وقم بتوجيه معالج الخطأ 404 إلى طريقة العرض التي قمت بإنشائها لمعالجة الخطأ 404. تم استدعاء معالج الخطأ 404 معالج 404. أن نشير معالج 404 من وجهة نظرك ، يجب اتباع هذا التنسيق:

معالج 404 = "app_name.views.custom_404_view_name"

إذا تم استدعاء تطبيقك وصفة، ويسمى المنظر مخصص_404، إذًا يجب عليك تعديل التنسيق أعلاه مثل هذا:

معالج 404 = "recipe.views.custom_404"

تأكد من القيام بذلك على مستوى مشروعك وليس على مستوى التطبيق الخاص بك. هناك الاختلافات بين المشروع والتطبيق في Django.

الخطوة 4: اختبر صفحة الخطأ 404 الجديدة

لاختبار صفحة الخطأ الجديدة ، ابدأ خادم التطوير وانتقل إلى صفحة غير موجودة في التطبيق الخاص بك. يمكنك بدء تشغيل الخادم الخاص بك عن طريق تشغيل هذا الأمر في أداة سطر الأوامر (CLI):

بيثون MANAGER.py runserver

لكي يعمل الأمر أعلاه ، يجب أن تكون في الدليل الجذر لمشروعك ، أي المجلد حيث ملف إدارة حياة الملف.

بمجرد بدء تشغيل الخادم ، اختبر صفحة 404 المخصصة عن طريق الانتقال إلى صفحة غير موجودة مثل http://127.0.0.1:8000/hello. إذا كنت قد فعلت كل شيء بشكل صحيح ، فسترى صفحة الخطأ 404 المخصصة.

إذا لم تظهر صفحة الخطأ 404 المخصصة الخاصة بك ، فيجب أن تفكر في التحقق من طرق العرض الخاصة بك للتأكد من أنك كتبت المسار الصحيح لقالب HTML الخاص بك في يجعل() الوظيفة ، لأن هذه مشكلة شائعة.

توفر صفحات الخطأ المخصصة تجربة مستخدم أفضل

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

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