Sitemaps возвращает NoReverseMatch в /sitemap.xml

Я пытаюсь добавить sitemaps в свое приложение, но когда я добавляю url, который имеет slug, он выдает ошибку http://127.0.0.1:8000/sitemap.xml

Повтор для 'view-Question' без аргументов не найден. Испробован 1 шаблон(ы): ['questions/(?P[-a-zA-Z0-9_]+)/\Z']

Я следую этому Учебнику

мои урлы:

sitemaps = {
'static': StaticViewSitemap,
}  

path('', views.Home, name='Home'),
path('login', views.login, name='login'),
path('register/', views.register, name='register'),
path('Terms', views.rules, name='Rules'),
path('questions/<slug:slug>/', views.viewQuestion, name='view-Question'),
path('feedback/', views.PostFeedBack.as_view(), name='FeedBack'),
path('sitemap.xml', sitemap, {'sitemaps': sitemaps},
     name='django.contrib.sitemaps.views.sitemap'),

мой файл sitemaps.py:

from django.contrib import sitemaps
from django.urls import reverse

class StaticViewSitemap(sitemaps.Sitemap):
    priority = 0.5
    changefreq = 'daily'

    def items(self):
        return ['Home', 'login', 'register', 'Rules', 'FeedBack', 'view-Question']

    def location(self, item):
        return reverse(item)

Спасибо.

Мой подход, заключающийся в вызове reverse(item), не работает для шаблонов URL, имеющих аргументы. Я не могу просто вызвать:

 reverse(item)

Мне нужен первичный ключ, например

reverse('view-Question', args=[item])

Вот как я решил свою проблему.

Вернуться на верх