深入Django:配置站点SEO文件sitemap.xml

djangopythonseositemap
2023-09-22 15:53:13

一、urls.py配置

导入如下模块

from django.contrib.sitemaps.views import sitemap

在path当中加入如下path,其中sitemaps是需要配置的字典

复制代码
path('sitemap.xml', sitemap, {'sitemaps': sitemaps},
name='django.contrib.sitemaps.views.sitemap')

二、配置sitemaps

python 复制代码
from django.contrib.sitemaps import GenericSitemap
	# 需要导入的Models
    from article_manager.models import Article
    article_dict = {
        'queryset': Article.objects.filter(delete=False, hide=False),
        'date_field': 'update_time',
    }
	
	sitemaps = {
    'article': GenericSitemap(article_dict, priority=0.8),
    }

三、配置urls规则

在对应models加上函数,用于配置urls
本例子在Article这个类当中写入函数 get_absolute_url
例如:

python 复制代码
def get_absolute_url(self):
   return '/article/' + str(self.id) + ".html"

刷新页面,访问 {ip}/sitemap.xml 得到相应的sitemap.xml文件