Защита url в детальном представлении django
Я пытаюсь решить проблему защиты url при использовании DetailView в django web для отображения деталей конкретного объекта (продукта) и передачи id (pk) в url, который не существует в экземплярах модели (таблицы) продукта. В настоящее время он выдает ошибку типа "Не найдено товаров, соответствующих запросу". Вместо этого я ищу способ отобразить страницу предупреждения пользователю, что требуемый идентификатор товара не существует.
Иллюстрация в виде примера ниже
models.py
from django.db import models
class Products(models.Model):
product_name=models.CharField(max_length=200)
product_descript=models.CharField(max_length=200)
product_price=models.IntegerField()
def __str__(self):
return self.product_name
url.py
from django.urls import path
from . import views
urlpatterns=[ path('product/detail=<int:pk>',views.ProductDetailView.as_view(),
name='detail'),]
views.py
from django.views.generic.detail import DetailView
from .models import Products
class ProductDetailView(DetailView):
model=Products
template_name='food/detail.html'
food/detail.html
<div>
<h1>Name: {{object.product_name}}</h1>
<h3>Descrription: {{object.product_descript}}</h3>
<h4>Price: {{object.product_price}}</h4>
</div>
Подробная страница при передаче несуществующего идентификатора.