Получение ошибки при получении урлов в шаблонах - Django

Я пытаюсь воспроизвести сайт электронной коммерции и показать отдельные продукты, когда они нажимают на разные ссылки категории. Но у меня проблемы с получением урлов в шаблоне.

Вот мой views.py :

from django.shortcuts import render, redirect, reverse, get_object_or_404
from django.views import View
from .models import Product, Category

class ProductView(View):
    def get(self, request, *args, **kwargs):

        products = Product.objects.filter(is_active = True)


        context = {
            'products': products,
        }

        return render(request, 'Product/products.html', context)

class ProductDetailView(View):
    def get(self, request, slug):
        singleproduct = Product.objects.get(slug = slug)
        context = {
            'singleproduct': singleproduct,
        }
        return render(request, 'Product/productdetail.html', context)

class eBookView(View):
    def get(self, request, catslug):
        ebooks = Product.objects.filter(category__category = 'eBooks')

        context = {
            'ebooks': ebooks
        }

        return render(request, 'Product/ebooks.html', context)

class IllustrationView(View):
    def get(self, request, catslug):
        illustration = Product.objects.filter(category__category = 'Illustration')

        context = {
            'illustration': illustration
        }

        return render(request, 'Product/downloadillustration.html', context)

class PhotosView(View):
    def get(self, request, catslug):
        photos = Product.objects.filter(category__category = 'Photos')

        context = {
            'photos': photos
        }

        return render(request, 'Product/photos.html', context)

class WebsiteTemplatesView(View):
    def get(self, request, catslug):
        website = Product.objects.filter(category__category = 'Website Templates')

        context = {
            'website': website
        }

        return render(request, 'Product/websitetemplates.html', context)

Вот мой urls.py :

from django.urls import path
from .views import ProductView, ProductDetailView, eBookView, IllustrationView, PhotosView, 
   WebsiteTemplatesView

urlpatterns = [
    path('', ProductView.as_view(), name = 'products'),
    path('<slug:slug>/', ProductDetailView.as_view(), name = 'product-detail'),
    path('ebook/<slug:catslug>/', eBookView.as_view(), name = 'ebooks'),
    path('illustration/<slug:catslug>/', IllustrationView.as_view(), name = 'illustration'),
    path('photos/<slug:catslug>/', PhotosView.as_view(), name = 'photos'),
    path('website-templates/<slug:catslug>', WebsiteTemplatesView.as_view(), name = 'website- 

templates'), ]

А вот шаблон :

{% extends 'Base/base.html %}
{% block content %}
<a href="{% url 'ebook' catslug=instance.catslug %}</a>
{% endblock %}

Я хочу добавить урлы категорий в панель навигации, но при добавлении урлов категорий в панель навигации выдает ошибку.

Исправьте шаблон следующим образом :

{% extends 'Base/base.html %}
{% block content %}
    <a href="{% url 'ebooks' instance.catslug %}>Category</a>
{% endblock %}

NB : Когда вы используете тег {% url %}, укажите имя пути, который вы определили в файле urls.py, и вам также не нужно указывать имя параметра url.

В своем пути вы указали name=ebooks, поэтому вы можете использовать это имя в своих шаблонах.

Вы написали ebook, а должно быть ebooks. Также ваш тег a отформатирован неправильно.

{% extends 'Base/base.html %}
{% block content %}
    <a href="{% url 'ebooks' instance.catslug %}>Category</a>
{% endblock %}
Вернуться на верх