From 026ea5f8343ce1aaa2d09530015e34c84d5e4a0d Mon Sep 17 00:00:00 2001 From: Jannis Portmann Date: Thu, 18 May 2023 11:04:14 +0200 Subject: [PATCH] Add sitemap --- pflaenzli/pflaenzli/sitemaps.py | 13 +++++++++++++ pflaenzli/pflaenzli/urls.py | 11 ++++++++++- pflaenzli/pflaenzli_django/settings.py | 1 + 3 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 pflaenzli/pflaenzli/sitemaps.py diff --git a/pflaenzli/pflaenzli/sitemaps.py b/pflaenzli/pflaenzli/sitemaps.py new file mode 100644 index 0000000..9765440 --- /dev/null +++ b/pflaenzli/pflaenzli/sitemaps.py @@ -0,0 +1,13 @@ +from django.contrib import sitemaps +from django.urls import reverse + + +class StaticViewSitemap(sitemaps.Sitemap): + priority = 0.5 + changefreq = 'monthly' + + def items(self): + return ['index', 'list_offers', 'create_offer', 'register_user', 'faq', 'imprint'] + + def location(self, item): + return reverse(item) diff --git a/pflaenzli/pflaenzli/urls.py b/pflaenzli/pflaenzli/urls.py index 81d7a39..e7109d9 100644 --- a/pflaenzli/pflaenzli/urls.py +++ b/pflaenzli/pflaenzli/urls.py @@ -1,10 +1,17 @@ from django.conf import settings from django.conf.urls.static import static from django.contrib.auth import views as auth_views -from django.urls import path, include +from django.contrib.sitemaps.views import sitemap +from django.urls import include, path from django.views.generic import TemplateView from . import views +from .sitemaps import StaticViewSitemap + +sitemaps = { + 'static': StaticViewSitemap, +} + urlpatterns = [ path("", TemplateView.as_view(template_name='app/index.html'), name="index"), @@ -33,4 +40,6 @@ urlpatterns = [ path("imprint/", TemplateView.as_view(template_name='app/imprint.html'), name="imprint"), path("wish/delete/", views.delete_wish, name='delete_wish'), path("i18n/", include("django.conf.urls.i18n")), + path('sitemap.xml', sitemap, {'sitemaps': sitemaps}, + name='django.contrib.sitemaps.views.sitemap'), ] diff --git a/pflaenzli/pflaenzli_django/settings.py b/pflaenzli/pflaenzli_django/settings.py index 73850c1..012c67c 100644 --- a/pflaenzli/pflaenzli_django/settings.py +++ b/pflaenzli/pflaenzli_django/settings.py @@ -49,6 +49,7 @@ INSTALLED_APPS = [ "crispy_forms", "crispy_bootstrap5", "friendly_captcha", + "django.contrib.sitemaps", ] MIDDLEWARE = [