استفاده از get_object_or_404()
تا اینجا اگر کاربر موضوع یا مطلبی را که وجود ندارد به صورت دستی درخواست کند به خطای سرور 500 برمیخورد. جانگو سعی میکند صفحهای را که وجود ندارد بسازد امّا چون برای این کار اطّلاعات کافی ندارد خطای 500 ایجاد میشود. این وضعّیت به طور دقیقتر شبیه به خطای 404 است و میتوانیم این رفتار را به کمک تابع میانبر get_object_or_404() جانگو پیادهسازی کنیم. این تابع تلاش میکند که شیء درخواستی را از پایگاه داده بگیرد، امّا اگر وجود نداشت یک استثنای 404 ایجاد میکند. این تابع را در views.py وارد میکنیم و آن را به جای get() میگذاریم:
|
|
حال اگر موضوعی را درخواست کنید که وجود ندارد (برای مثال http://localhost:8000/topics/999) یک صفحهی خطای 404 خواهید دید. برای استقرار این تغییر یک سپارش جدید ایجاد کنید و پروژه را به هروکو انتقال دهید.