added dynamic sitemap

This commit is contained in:
DerTyp187
2021-11-19 11:35:16 +01:00
parent ca32c61c7f
commit 514303cd61
7 changed files with 37 additions and 4 deletions

View File

@@ -21,6 +21,5 @@ urlpatterns = [
path('', include('main.urls')), path('', include('main.urls')),
path('analytics/', include('analytics.urls')), path('analytics/', include('analytics.urls')),
path("robots.txt", TemplateView.as_view(template_name="robots.txt", content_type="text/plain")), path("robots.txt", TemplateView.as_view(template_name="robots.txt", content_type="text/plain")),
path("sitemap.xml", TemplateView.as_view(template_name="sitemap.xml", content_type="text/xml")),
path('AD/SDGFOLKJASDNVASDFASDFSLAKDF/', admin.site.urls), path('AD/SDGFOLKJASDNVASDFASDFSLAKDF/', admin.site.urls),
] ]

View File

@@ -1,3 +1,4 @@
{% load filter_blank %}
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/0.9 http://www.sitemaps.org/schemas/0.9/sitemap.xsd"> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/0.9 http://www.sitemaps.org/schemas/0.9/sitemap.xsd">
<!--Main Pages--> <!--Main Pages-->
<url> <url>
@@ -15,8 +16,21 @@
<lastmod>2021-11-19T20:00:06+00:00</lastmod> <lastmod>2021-11-19T20:00:06+00:00</lastmod>
<priority>0.70</priority> <priority>0.70</priority>
</url> </url>
<!--Category Pages--> <!--Category Pages-->
{% for c in categories %}
<url>
<loc>https://code.tealfire.de/category/{{c.title|filter_blank }}/</loc>
<lastmod>{{ c.date_created|date:"Y-m-d" }}T{{ c.date_created|date:"H:i:s" }}+00:00</lastmod>
<priority>0.80</priority>
</url>
{% endfor %}
<!--Topic Pages--> <!--Topic Pages-->
{% for t in topics %}
<url>
<loc>https://code.tealfire.de/topic/{{t.category.title}}/{{t.title|filter_blank}}/</loc>
<lastmod>{{ t.date_created|date:"Y-m-d" }}T{{ t.date_created|date:"H:i:s" }}+00:00</lastmod>
<priority>0.80</priority>
</url>
{% endfor %}
</urlset> </urlset>

View File

View File

@@ -0,0 +1,7 @@
from django import template
register = template.Library()
@register.filter
def filter_blank(value):
return value.replace(" ", "%20")

View File

@@ -7,4 +7,5 @@ urlpatterns = [
path('category/<str:category>/', views.category, name="main-category"), path('category/<str:category>/', views.category, name="main-category"),
path('about/', views.about, name="main-about"), path('about/', views.about, name="main-about"),
path('privacy/', views.privacy, name="main-privacy"), path('privacy/', views.privacy, name="main-privacy"),
path('sitemap.xml', views.sitemap, name="main-sitemap"),
] ]

View File

@@ -2,6 +2,7 @@ from django.http.response import HttpResponse
from django.shortcuts import render, redirect from django.shortcuts import render, redirect
from .models import Category, Topic from .models import Category, Topic
from analytics.models import View from analytics.models import View
from django.views.generic.base import TemplateView
def index(req): def index(req):
view = View(ip=get_client_ip(req), home=True) view = View(ip=get_client_ip(req), home=True)
@@ -58,6 +59,17 @@ def category(req, category):
def sitemap(req):
topics = Topic.objects.all()
categories = Category.objects.all()
#REPLACE ALL BLANKS WITH %20
context = {
'topics': topics,
'categories': categories
}
return render(req, 'sitemap.xml', context, 'text/xml')
def about(req): def about(req):
return render(req, "main/about.html") return render(req, "main/about.html")