Creating a detail view for images
Let's now create a simple detail view to display an image that has been saved into your site. Open the views.py
file of the images
application and add the following code to it:
from django.shortcuts import get_object_or_404
from .models import Image
def image_detail(request, id, slug):
image = get_object_or_404(Image, id=id, slug=slug)
return render(request,
'images/image/detail.html',
{'section': 'images',
'image': image})
This is a simple view to display an image. Edit the urls.py
file of the images
application and add the following URL pattern:
path('detail/<int:id>/<slug:slug>/',
views.image_detail, name='detail'),
Edit the models.py
file of the images
application and add the get_absolute_url()
method to the Image
model, as follows:
from django.urls import reverse
class Image(models...