當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。