Add sitemap

This commit is contained in:
Nyymix 2025-04-10 22:59:09 +03:00
parent 97f2564293
commit 191fc0780c
3 changed files with 30 additions and 0 deletions

View file

@ -37,6 +37,7 @@ INSTALLED_APPS = [
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.sitemaps',
'imagekit',
'django_cleanup',
'gallery'

View file

@ -1,10 +1,18 @@
from django.conf import settings
from django.conf.urls.static import static
from django.contrib import admin
from django.contrib.sitemaps.views import sitemap
from django.urls import include, path
from django.views.generic import RedirectView
from gallery.sitemaps import AlbumSitemap
sitemaps = {
'albums': AlbumSitemap,
}
urlpatterns = [
path("sitemap.xml", sitemap, {'sitemaps': sitemaps}, name='django.contrib.sitemaps.views.sitemap'),
path('admin/', admin.site.urls),
path('favicon.ico/', RedirectView.as_view(url='/static/favicon.ico', permanent=True)),
path('', include(('gallery.urls', 'gallery'), namespace='gallery')),
@ -15,3 +23,6 @@ if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

18
gallery/sitemaps.py Normal file
View file

@ -0,0 +1,18 @@
from django.contrib.sitemaps import Sitemap
from django.urls import reverse
from .models import Album
class AlbumSitemap(Sitemap):
changefreq = "monthly"
priority = 0.8
def items(self):
return Album.objects.filter(is_public=True)
def lastmod(self, obj):
return obj.album_date
def location(self, obj):
return reverse('gallery:album_url', kwargs={'album_slug': obj.slug})