当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python Django index用法及代码示例


本文介绍 django.contrib.sitemaps.views.index 的用法。

声明

views.index(request, sitemaps, template_name='sitemap_index.xml', content_type='application/xml', sitemap_url_name='django.contrib.sitemaps.views.sitemap')

站点Map框架还能够创建一个站点Map索引,该索引引用单个站点Map文件,在您的sitemaps 字典中定义的每个部分都有一个。用法上的唯一区别是:

以下是上述示例的相关 URLconf 行的样子:

from django.contrib.sitemaps import views

urlpatterns = [
    path('sitemap.xml', views.index, {'sitemaps': sitemaps},
         name='django.contrib.sitemaps.views.index'),
    path('sitemap-<section>.xml', views.sitemap, {'sitemaps': sitemaps},
         name='django.contrib.sitemaps.views.sitemap'),
]

这将自动生成一个引用 sitemap-flatpages.xmlsitemap-blog.xmlsitemap.xml 文件。 Sitemap 类和 sitemaps dict 完全没有改变。

如果您的站点Map之一具有超过 50,000 个 URL,您应该创建一个索引文件。在这种情况下,Django 会自动对站点Map进行分页,并且索引会反映这一点。

如果您不使用原始站点Map视图 - 例如,如果它使用缓存装饰器进行包装 - 您必须命名站点Map视图并将 sitemap_url_name 传递给索引视图:

from django.contrib.sitemaps import views as sitemaps_views
from django.views.decorators.cache import cache_page

urlpatterns = [
    path('sitemap.xml',
         cache_page(86400)(sitemaps_views.index),
         {'sitemaps': sitemaps, 'sitemap_url_name': 'sitemaps'}),
    path('sitemap-<section>.xml',
         cache_page(86400)(sitemaps_views.sitemap),
         {'sitemaps': sitemaps}, name='sitemaps'),
]

相关用法


注:本文由纯净天空筛选整理自djangoproject.com大神的英文原创作品 django.contrib.sitemaps.views.index。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。