Creating a detail view for images
We will now create a simple detail view to display an image that has been saved into our 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.Model): # ... def get_absolute_url(self): return reverse('images:detail', args=...