added sitemap

This commit is contained in:
2021-01-30 15:03:07 +00:00
parent 42b32e306e
commit 51afb9682d
3 changed files with 23 additions and 1 deletions

View File

@@ -66,6 +66,7 @@ INSTALLED_APPS = [
"django.contrib.sessions", "django.contrib.sessions",
"django.contrib.messages", "django.contrib.messages",
"django.contrib.staticfiles", "django.contrib.staticfiles",
"django.contrib.sitemaps",
"taggit", "taggit",
"ckeditor", "ckeditor",
"ckeditor_uploader", "ckeditor_uploader",

View File

@@ -0,0 +1,19 @@
from django.contrib.sitemaps import Sitemap
from posts.models import Post
class PostSitemap(Sitemap):
changefreq = "daily"
priority = 1
def items(self):
return Post.objects.filter(is_hidden=False)
def lastmod(self, obj):
return obj.date_modified
def location(self, obj):
return f"/posts/{obj.slug}"
sitemaps = {"posts": PostSitemap()}

View File

@@ -3,6 +3,7 @@ from django.urls import path, include
from django.conf.urls.static import static from django.conf.urls.static import static
from django.conf import settings from django.conf import settings
from django.views.generic import RedirectView from django.views.generic import RedirectView
from django.contrib.sitemaps.views import sitemap
from . import views from . import views
from posts.viewsets import PostViewSet from posts.viewsets import PostViewSet
from members.urls import member_urlpatterns, jobs_urlpatterns from members.urls import member_urlpatterns, jobs_urlpatterns
@@ -13,7 +14,7 @@ from members.viewsets import (
JobMemberViewSet, JobMemberViewSet,
) )
from rest_framework import routers from rest_framework import routers
from .sitemaps import sitemaps
router = routers.DefaultRouter() router = routers.DefaultRouter()
router.register(r"posts", PostViewSet) router.register(r"posts", PostViewSet)
router.register(r"members", MemberViewSet) router.register(r"members", MemberViewSet)
@@ -36,4 +37,5 @@ urlpatterns = [
path("member/", include(member_urlpatterns), name="member"), path("member/", include(member_urlpatterns), name="member"),
path("blackboard/", include("blackboard.urls"), name="blackboard"), path("blackboard/", include("blackboard.urls"), name="blackboard"),
path("tasks/", include("tasks.urls"), name="tasks"), path("tasks/", include("tasks.urls"), name="tasks"),
path('sitemap.xml', sitemap, {'sitemaps': sitemaps}, name='django.contrib.sitemaps.views.sitemap')
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)