قالب 404 (404 Template)
گاهی آدرس اشتباه می زنیم و خطای «یافت نشد (404 Not Found)» می آید. جنگو یک ویوی آماده دارد. اما می توانیم پیام خطا را با «قالب 404» شخصی سازی کنیم.
صفحه پیدا نشد (404) در حالت عادی
اگر صفحه ای وجود نداشته باشد، جنگو یکی از دو حالت را نشان می دهد. یا قالب 404 داخلی را می بینید، یا صفحه دیباگ اگر DEBUG روشن باشد.
نکته: برای دیدن قالب 404 داخلی، باید DEBUG خاموش باشد.
خاموش کردن دیباگ و مجاز کردن میزبان
در settings.py مقدار DEBUG را False کن. سپس ALLOWED_HOSTS را تنظیم کن تا درخواست ها مجاز شوند.
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = False
ALLOWED_HOSTS = ['*']
هشدار: در محیط واقعی، دامنه مشخص بگذار. مثال: ALLOWED_HOSTS = ['example.com'].
ساخت قالب سفارشی 404
برای پیام اختصاصی، یک فایل 404.html در پوشه templates بساز. جنگو هنگام خطای 404 این فایل را نشان می دهد.
<!DOCTYPE html>
<html>
<title>Wrong address</title>
<body>
<h1>Ooops!</h1>
<h2>I cannot find the file you requested!</h2>
</body>
</html>
- فایل
404.htmlرا داخلtemplatesبساز. - سرور را اجرا کن و آدرس اشتباه بزن.
- پیام سفارشی خودت را ببین.
بازگردانی حالت آموزش
برای ادامه تمرین ها، می توانی دوباره DEBUG را روشن کنی و میزبان ها را خالی بگذاری.
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
ALLOWED_HOSTS = []
جمع بندی سریع
DEBUG=Falseتا 404 واقعی دیده شود.ALLOWED_HOSTSرا درست تنظیم کن.- فایل
404.htmlپیام را شخصی می کند. - برای تمرین، موقتاً
DEBUG=Trueکن.
بیشتر بخوان: صفحه ایندکس اصلی | قالب مادر | قالب 404