Django sitemap для статических маршрутов react (ошибка : NoReverseMatch в /sitemap.xml/)
я хочу реализовать sitemap для статических маршрутов react и получаю эту ошибку:
Версия для 'contact' не найдена. 'contact' не является допустимой функцией представления или именем шаблона.
Я добавил список своих маршрутов react REACT-ROUTES
в settings.py и добавил их к urlpatterns в корневом файле urls.py
настройки :
REACT_ROUTES = [
'contact',
'politique-de-confidentialite',
'mentions-legales',
'cookies',
.
.
]
INSTALLED_APPS = [
'corsheaders',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.sites',
'django.contrib.sitemaps',
'rest_framework',
.
.
]
SITE_ID = 1
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'ess')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
STATIC_URL = '/static/'
STATIC_ROOT = basepath + '/app/static'
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'ess', 'static')]
урлы :
from django.conf import settings
from django.contrib.sitemaps.views import sitemap
from .sitemaps import StaticViewSitemap
react_routes = getattr(settings, 'REACT_ROUTES', [])
sitemaps = {
'static': StaticViewSitemap
}
urlpatterns = [
path('sitemap.xml/', sitemap, {'sitemaps': sitemaps}, name='django.contrib.sitemaps.views.sitemap'),
re_path(r'^$', TemplateView.as_view(template_name='index.html')),
]
for route in react_routes:
urlpatterns += [
re_path('{}'.format(route), TemplateView.as_view(template_name='index.html'))
]
sitemaps.py :
from django.contrib.sitemaps import Sitemap
from django.urls import reverse
class StaticViewSitemap(Sitemap):
def items(self):
return ['contact']
def location(self, item):
return reverse(item)
Я не знаю, что я упускаю, пожалуйста, помогите
Я решил проблему, добавив sitemap.xml
файл в папку сборки react
затем добавляется в urlpatterns
path('sitemaps.xml/',TemplateView.as_view(template_name='sitemap.xml', content_type='text/xml'),