以下のサイトに習って、Djangoでsitemapを作成しようとしたが、「サイト名/sitemap.xml」で検索しても「Page not found」となってしまいます。
どこが原因なのか、解決方法は何かご教示ください。
↓参考にしたサイト
https://medium.com/@kjmczk/django-sitemaps-75e1ed78398a
↓ドメイン名
analyticssupportservices.com
↓フォルダ構成
blogapps -blogapps(プロジェクト) -settings.py -sitemaps.py -urls.py ... -tecblog(アプリケーション) -models.py -urls.py -views.py ...
settings
1INSTALLED_APPS = [ 2 ... 3 'django.contrib.sites', 4 'django.contrib.sitemaps', 5 ... 6] 7 8SITE_ID = 1
↓blogapps(プロジェクト)の中のurls.py
urls
1from django.contrib import admin 2from django.urls import include, path 3from django.conf.urls.static import static 4from django.conf import settings 5from tecblog import views 6from django.contrib.sitemaps.views import sitemap 7from .sitemaps import ( 8 PostSitemap, 9 StaticViewSitemap, 10) 11 12sitemaps = { 13 'blog': PostSitemap, 14 'static': StaticViewSitemap, 15} 16 17urlpatterns = [ 18 path('', include('tecblog.urls')), 19 path('admin/', admin.site.urls), 20 path('sitemap.xml/', sitemap, {'sitemaps': sitemaps}, name='sitemap'), 21] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
sitemaps
1from django.contrib.sitemaps import Sitemap 2from django.urls import reverse 3 4from tecblog.models import Post 5 6 7class PostSitemap(Sitemap): 8 changefreq = "daily" 9 priority = 0.8 10 11 def items(self): 12 return Post.objects.all 13 14 def location(self, obj): 15 return reverse('tecblog:post_detail', args=[obj.pk]) 16 17 def lastmod(self, obj): 18 return obj.pub_date 19 20 21class StaticViewSitemap(Sitemap): 22 changefreq = "daily" 23 priority = 0.5 24 25 def items(self): 26 return ['tecblog:index', 'tecblog:post', 'tecblog:analytic'] 27 28 def location(self, item): 29 return reverse(item) 30 31
あなたの回答
tips
プレビュー