如何在django网站地图中拥有50000多个url


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

上面的例子是我在项目级urls.py中的站点地图配置

from django.contrib.sitemaps import Sitemap
from .models import Post
class PostSitemap(Sitemap):
changefreq = 'always'
priority = 0.9
protocol = 'https'
limit = 5
def items(self):
return Post.aupm.all()

def lastmod(self, obj):
return obj.updated

以上代码适用于应用程序级别的sitemaps.py生成该代码的

<urlset>
<url>
<loc>
https://localhost:8000/en/kavi/lobaan-ke-5-laabh-aur-upyog-aur-7-mithk-0x76/
</loc>
<lastmod>2022-01-28</lastmod>
<changefreq>always</changefreq>
<priority>0.9</priority>
</url>
<url>

我想要的是:

  1. 如果我在该应用程序中的50000(五万(个元素中有更多的元素,该怎么办
  2. 如果我想从diffrent应用程序添加更多元素(即网站地图(

是的,可以使用站点地图索引。来自文档:

站点地图框架还能够创建引用单个站点地图文件的站点地图索引,sitemaps字典中定义的每个部分一个。使用上唯一的区别是:

  • URLconf中使用两个视图:django.contrib.sitemaps.views.index()django.contrib.sitemaps.views.sitemap()
  • django.contrib.sitemaps.views.sitemap()视图应采用section关键字参数

请在此处查看更多信息。

最新更新