Django 配置 sitemap 接口
时间:2021-07-28
本文章向大家介绍Django 配置 sitemap 接口,主要包括Django 配置 sitemap 接口使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
# 环境: Python-3.7 Django-2.2.7
# 官方文档参考地址: https://docs.djangoproject.com/zh-hans/2.2/ref/contrib/sitemaps/
# 1.1 settings.py 在 INSTALLED_APPS 中添加以下内容
'django.contrib.sites', 'django.contrib.sitemaps',
# 1.2 执行数据库生成代码, 会自动生成 sitemap 的内置表, 登录后台可以看到有一个叫 "站点" 的模块 (下面有截图)
python manage.py makemigrations
python manage.py migrate
# 1.3. settings.py 最下面添加以下参数, 该字段是查询生成的sitemap表里面第一条数据, 如果不加的话会报异常(下面有截图)
SITE_ID = 1
# 2. models.py
class News(models.Model): title = models.CharField(verbose_name="文章标题", max_length=64) desc = UEditorField(width=600, height=300, toolbars="full", imagePath="wenzhang/news/desc/", null=True, blank=True, filePath="wenzhang/news/desc/", upload_settings={"imageMaxSize": 1204000}, settings={}, verbose_name='文章详情') image = models.ImageField(verbose_name="文章封面", upload_to="wenzhang/news", help_text="1920px * 1080px") title = models.TextField(verbose_name="title", null=True, blank=True) keywords = models.TextField(verbose_name="keywords", null=True, blank=True) description = models.TextField(verbose_name="description", null=True, blank=True) create_time = models.DateTimeField(verbose_name="创建时间", auto_now_add=True, blank=True, null=True) def get_absolute_url(self): """配置每一条文章数据的访问路径 最终显示在sitemap.xml中 路径是这样的: https://xxx.com/news/1/ """ return '/news/%s/' % (self.id, ) class Meta: verbose_name = "a. 文章表" verbose_name_plural = verbose_name ordering = ['-create_time']
# 3. urls.py
from django.contrib.sitemaps.views import sitemap urlpatterns = [ url(r'^news/(\d+)/$', NewsViews.as_view()), url('sitemap.xml', sitemap, {'sitemaps': {'news': NewsSitemap, 'index': IndexSitemap}}, name='django.contrib.sitemaps.views.sitemap'), ]
# 4. views.py
from django.contrib.sitemaps import Sitemap class NewsSitemap(Sitemap): """返回 News 表中查询出来数据的访问路径 priority参数说明: https://docs.djangoproject.com/zh-hans/2.1/ref/contrib/sitemaps/#django.contrib.sitemaps.Sitemap.priority changefreq参数说明: https://docs.djangoproject.com/zh-hans/2.1/ref/contrib/sitemaps/#django.contrib.sitemaps.Sitemap.changefreq """ priority = 0.5 changefreq = 'daily' def items(self): """返回 News表对象列表, 可以在此做一些 filter 操作, 过滤掉不需要展示的数据""" return News.objects.all() class IndexSitemap(Sitemap): """返回网站首页路径 该类返回的路径可以自定义, 和上面 NewsSitemap类中不同的是, 没有使用models表 """ priority = 0.5 changefreq = 'daily' def items(self): return ['index'] def location(self, obj): """直接返回网站首页路径即可, 不需要加域名 注: 1. 如果未定义 get_absolute_url() 方法时, 需要添加该方法 2. 因为上面 NewsSitemap 类中, 已经在 News表的 models.py 中添加过 get_absolute_url 方法了, 所以不需要加 location 方法 """ return '/'
# 5. 访问 /sitemap.xml 路径
原文地址:https://www.cnblogs.com/chaoqi/p/15072131.html
- struts2(三)之表单参数自动封装与参数类型自动转换
- mysql benchmark基准测试
- redis 学习笔记(6)-cluster集群搭建
- redis 学习笔记(6)-cluster集群搭建
- dubbox REST服务使用fastjson替换jackson
- JavaScript中removeEventListener()使用注意事项
- dubbox REST服务使用fastjson替换jackson
- struts2(二)之配置文件详解与结果视图
- CSS魔法堂:你真的懂text-align吗?
- 黑客可以利用传感器数据来破解手机密码
- spring-boot 速成(3) actuator
- 利用sharding-jdbc分库分表
- 利用sharding-jdbc分库分表
- 协议森林17 我和你的悄悄话 (SSL/TLS协议)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Saltstack_使用指南02_远程执行-验证 2.1. Master与哪些minion正常通信2.2. 查看master与指定minion通信是否正常
- Saltstack_使用指南03_配置管理
- Saltstack_使用指南04_数据系统-Grains 4.1. grains条目项信息4.2. grains全部信息4.3. 查询grains指定信息5.1. m
- 揭开spring初始化方法的神秘面纱
- Saltstack_使用指南05_数据系统-Pillar 4.1. 修改配置文件并重启服务4.2. 显示pillar信息6.1. pillar的sls文件编写6.2.
- Python Docker 查看私有仓库镜像【转】
- CentOS7 Docker私有仓库搭建及删除镜像 【转】
- spring的自定义标签都不会?你可能只学到了spring的皮毛
- 面试官:spring的BeanFatory和FactoryBean区别
- Saltstack_使用指南06_远程执行-指定目标
- 什么是缓存击穿、雪崩、穿透
- 如何卸载CDH7.1.1
- java8 stream的这些开发技巧,你值得好好收藏
- 面试官:mybatis中#{ }和${ }的区别
- python 学习笔记(9)——Python 正则表达式