本文介紹 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 中使用了兩個視圖:
django.contrib.sitemaps.views.index()
django.contrib.sitemaps.views.sitemap()
django.contrib.sitemaps.views.sitemap()
section
關鍵字參數。
以下是上述示例的相關 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.xml
和 sitemap-blog.xml
的 sitemap.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'),
]
相關用法
- Python scipy integrate.trapz用法及代碼示例
- Python inspect.Parameter.replace用法及代碼示例
- Python inspect.Parameter.kind用法及代碼示例
- Python int轉exponential用法及代碼示例
- Python integer轉string用法及代碼示例
- Python inspect.Signature.from_callable用法及代碼示例
- Python inspect.isasyncgenfunction用法及代碼示例
- Python scipy interpolate.CubicHermiteSpline.solve用法及代碼示例
- Python inspect.isawaitable用法及代碼示例
- Python scipy interpolate.CubicSpline.solve用法及代碼示例
- Python int.from_bytes用法及代碼示例
- Python scipy integrate.cumtrapz用法及代碼示例
- Python inspect.BoundArguments.apply_defaults用法及代碼示例
- Python scipy interpolate.PchipInterpolator.solve用法及代碼示例
- Python int.bit_length用法及代碼示例
- Python input用法及代碼示例
- Python integer轉roman用法及代碼示例
- Python inspect.BoundArguments用法及代碼示例
- Python int.bit_count用法及代碼示例
- Python inspect.Parameter.kind.description用法及代碼示例
- Python scipy integrate.simps用法及代碼示例
- Python inspect.formatargspec用法及代碼示例
- Python int.to_bytes用法及代碼示例
- Python scipy interpolate.Akima1DInterpolator.solve用法及代碼示例
- Python inspect.Signature.replace用法及代碼示例
注:本文由純淨天空篩選整理自djangoproject.com大神的英文原創作品 django.contrib.sitemaps.views.index。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。