Django文章标签推荐
当博客文章实现了标签后,可以用它们做很多有趣的事情。关于标签的更多内容,请看
Django集成第三方标签功能-CSDN博客
使用标签,我们可以很好地对博客文章进行分类。类似主题的帖子会有几个共同的标签。下一步将构建一个功能,以显示类似的帖子的标签数量。当用户阅读一篇文章时,我们可以建议他们阅读其他标签相同的文章。
为了检索特定职位的类似职位,需要执行以下步骤:、
检索当前文章的所有标签
blog/views.py
from django.db.models import Count
📌这是Django ORM的Count聚合函数。这个函数将允许执行标记的聚合计数。
Django.db.models包含以下聚合函数:
- Avg:平均值
- Max:最大值
- Min:最小值
- Count:对象计数
关于聚合函数,可查看官方文档
https://docs.djangoproject.com/zh-hans/5.0/topics/db/aggregation/
在render()函数之前的post_detail视图中添加以下行:
post_tags_ids = post.tags.values_list('id', flat=True)
例如当前文章有两个标签 {id:1,value:'python'}{id:2,value:'django'},使用tags.values_list获取标签的id列表,返回一个元组(1,2)
📌将flat=True传递给它以获得像[1,2,3,…]这样的扁平列表。
获取所有贴有这些标签的帖子
从列表中排除当前的帖子,以避免推荐相同的帖子
similar_posts = Post.published.filter(tags__in=post_tags_ids).exclude(id=post.id)
关于Post.published是在模型中自定义的一个返回已发布信息的方法,更多内容请查看
Django定制模型管理器-CSDN博客
按与当前帖子共享的标签数量对结果排序
如果有两个或更多的帖子具有相同数量的标签,推荐最近的帖子
将查询限制为我们想要推荐的帖子数量
similar_posts = similar_posts.annotate(same_tags=Count('tags')).order_by('-same_tags','-publish')[:4]
将similar_posts对象添加到render()函数的上下文字典中
template = "blog/post/detail.html"context = {"post":post,"comments":comments,"new_comment":new_comment,"comment_form":comment_form,"similar_posts":similar_posts}return render(request,template,context)
关于comment功能,请查看Django评论系统-CSDN博客
编辑blog/post/detail.html模板,并在帖子评论列表之前添加以下代码
{% for post in similar_posts %}<p><a href="{{ post.get_absolute_url }}">{{ post.title }}</a></p>{% empty %}There are no similar posts yeet.{% endfor %}
关于get_absolute_url是在模型中自定义的使用日期为路径的方法,更多内容请看
Django用日期URL定位详情-CSDN博客
相关文章:
Django文章标签推荐
当博客文章实现了标签后,可以用它们做很多有趣的事情。关于标签的更多内容,请看 Django集成第三方标签功能-CSDN博客 使用标签,我们可以很好地对博客文章进行分类。类似主题的帖子会有几个共同的标签。下一步将构建一个功能,以显…...
Git、TortoiseGit进阶
1.安装Git、TortoiseGit和汉化包 Git官网: Git TortoiseGit和汉化包: Download – TortoiseGit – Windows Shell Interface to Git 2.常用命令 创建仓库命令 git init初始化仓库git clone拷贝一份远程仓库,也就是下载一个项目。提交与修改 git add添加文件到暂存区git…...
山区老人爱的礼物丨守护银龄,情暖寒冬
为让山区老人们在寒冷的冬天感受到来自社会的温暖,新年伊始,北京传益千里携手志愿者再次走进酉阳土家族苗族自治县木叶乡分发新的一轮山区老人爱的礼物,让更多的物资走向有需要的人群。 中午阳光正好,志愿者们走进山林中的人家&am…...
【计算机算法设计与分析】n皇后问题(C++_回溯法)
文章目录 题目描述测试样例算法原理算法实现参考资料 题目描述 在nxn格的棋盘上放置彼此不受攻击的n格皇后。按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。n后问题等价于在nxn格的棋盘上放置n个皇后,任何2个皇后不放在同…...
Calendar日历类型常见方法
Calendar日历类型常见方法: 概括:1.get( )方法2、set( ) 设置时间3、常用的add方法4、after()方法表示的时间是否在指定时间之后, before( ) 方法则之前, 返回判断结果4.1、compareTo比较器 概括: Calendar类是一个抽…...
Docker-Compose部署Redis(v7.2)主从模式
文章目录 一、前提准备1. redis配置文件2. 下载redis镜像3. 文件夹结构 二、docker-compose三、主从配置1.主节点配置文件2.从节点配置文件 四、运行五、测试 环境 docker desktop for windows 4.23.0redis 7.2 一、前提准备 1. redis配置文件 因为Redis 7.2 docker镜像里面…...
Spring国际化的应用及原理详解
1. 简介 Spring国际化(Spring Internationalization,简称i18n)是Spring框架提供的一种机制,用于支持多语言的应用程序。它使得开发者能够轻松地在应用程序中实现不同语言的支持,从而满足全球化的需求。通过Spring国际…...
Existing installation is up to date
这个报错是之前安装的docker没有删除干净 解决方法: 打开注册表编辑器 然后再搜索栏:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Docker Desktop 回车 找到Docker Desktop文件夹后,右键删除 重新安装Docker…...
windows安装kafka以及kafka管理工具推荐
windows安装 1.下载地址 下载地址 下载最新版本的.tgz文件解压 2.修改配置 修改config目录下的zookeeper.properties中的dataDir属性 server.properties文件中的log.dir属性 3.启动zookeeper 进入到bin\windows\下的用cmd输入zookeeper-server-start.bat ..\..\config\zo…...
面向对象的三大特征之一多态
多态 概念 多态是同一个对象,在不同时刻表现出来不同的形态,称之为多态。 例如:水,我们把水理解成为一个对象,而水会有不同的形态,比如 液态水、冰块、水蒸气 多态的前提 有继承/实现关系(继承…...
vue3中标签form插件
想写一个系统,对八字进行标注,比如格局,有些八字就有很多格局,于是就想着使用el-tag但是,form表单中如何处理呢? 这个时候,就需要自己写一个,modelValue是表单的默认属性 <template><…...
企业数字化转型:1个核心、2种力量、3个关键点、4大转型、5大平台
引言 企业数字化转型源于当今数字化时代的巨大变革。随着科技的飞速发展和全球市场的日益竞争,企业们正面临着前所未有的挑战和机遇。这些挑战包括消费者行为的变化、新技术的涌现以及市场竞争的加剧。在这种环境下,传统的商业模式和运营方式已经不再适…...
Agilent安捷伦E4990A阻抗分析仪20Hz
Agilent安捷伦E4990A阻抗分析仪性能卓越,适用于元器件、半导体和材料测量。它具有宽广的频率范围,从20Hz到120MHz,能够适应各种不同的阻抗测量需求。在宽阻抗范围内,该仪器能够提供出色的0.045%(典型值)基本…...
性能优化-OpenMP概述(一)-宏观全面理解OpenMP
本文旨在从宏观角度来介绍OpenMP的原理、编程模型、以及在各个领域的应用、使用、希望读者能够从本文整体上了解OpenMP。 🎬个人简介:一个全栈工程师的升级之路! 📋个人专栏:高性能(HPC)开发基础…...
Prometheus实战篇:Prometheus监控nginx
准备环境 在此专栏的前几篇文章中已经准备了一台服务器作为我们进行环境的准备.大家也可以通过虚拟机创建俩台服务器,一台作为Prometheus的安装另外一台进行其他软件安装并且进行监控的服务器. 这里我就不赘述nginx的安装教程,相信大家都可以搜到,使用docker或者直接通过安装包…...
JVM加载class文件的原理机制
1、JVM 简介 JVM 是我们Javaer 的最基本功底了,刚开始学Java 的时候,一般都是从“Hello World ”开始的,然后会写个复杂点class ,然后再找一些开源框架,比如Spring ,Hibernate 等等,再然后就开发…...
如何使用CapSolver解决Web爬虫中遇到的CAPTCHA问题
Web爬取是一种强大的技术,用于从网站中提取数据,但经常会遇到一个常见障碍,即CAPTCHA。CAPTCHA是“Completely Automated Public Turing test to tell Computers and Humans Apart”的缩写,旨在防止自动机器人访问网站。然而&…...
杰发科技AC7801——IO模拟IIC注意事项
7801的参考手册没有说清楚 7840说明了用开漏 使用办法...
展台搭建与设计都有哪些思路
1、现代简约 设计理念强调简洁、线条清晰和空间布局,突出产品本身,使展台干净整洁,适合展示高科技、现代化的产品。 2、自然生态 利用植物、木材等自然元素,营造与自然和谐共处的氛围,适合健康、环保、生态产品。 3、品…...
解决mock单元测试中 无法获取实体类xxx对应的表名
错误描述:在执行单元测试时,执行到new Example时抛出异常,提示无法获取实体类xxx对应的表名 Example example new Example(ServeSubscribeRecord.class);Example.Criteria criteria example.createCriteria();criteria.andEqualTo("se…...
Word空白页删不掉?【图文讲解】怎么删除word空白页?word批量删除空白页?5种方法教你彻底删除
(1)问题背景谁在编辑 Word 时没被顽固空白页气到抓狂?写论文、做报告、整理文案,明明内容已经结束,页面末尾偏偏多出一页空白,删也删不掉、退也退不去。打印时白白浪费纸张,上交文档显得格外不专…...
OpenClaw+GLM-4.7-Flash:智能爬虫与数据分析
OpenClawGLM-4.7-Flash:智能爬虫与数据分析 1. 为什么需要智能爬虫与数据分析 最近我在做一个小型竞品分析项目时,遇到了一个典型的数据收集困境:需要从20多个竞品网站抓取产品功能描述、定价策略和用户评价,然后整理成结构化数…...
Qt官网抽风连不上?亲测有效的Qt6在线安装网络问题终极解决手册
Qt6在线安装网络问题终极解决手册:从反复失败到一次成功 看着Qt安装器上那个刺眼的"无法连接服务器"提示,我第27次点击了重试按钮。作为一名有十年经验的开发者,我从未想过会在安装环境这一步耗费整整一个下午。这不是个例——根据…...
微信单向好友检测终极指南:如何一键找出并清理删除你的微信好友
微信单向好友检测终极指南:如何一键找出并清理删除你的微信好友 【免费下载链接】WechatRealFriends 微信好友关系一键检测,基于微信ipad协议,看看有没有朋友偷偷删掉或者拉黑你 项目地址: https://gitcode.com/gh_mirrors/we/WechatRealFr…...
专访越擎科技创始人: 外骨骼的设计与仿真该如何入门
具身智能机器人领域的技术创新如火如荼,从轮式机器人,人形机器人,四足机器狗等不一而足。而从分类来看,外骨骼机器人作为增强人的能力的典型应用,不仅在医疗领域发挥重要作用,在工业应用等场景中也大大的增…...
科哥CAM++镜像入门指南:快速搭建中文语音识别系统
CAM镜像入门指南:快速搭建中文语音识别系统 1. 系统概述 CAM说话人识别系统是一个基于深度学习的声纹识别工具,由科哥封装为易用的Docker镜像。它能快速判断两段语音是否来自同一说话人,并提取语音特征向量,适用于身份验证、语音…...
Phi-4-Reasoning-Vision效果展示:低资源语言(如日/韩/西)图文推理能力
Phi-4-Reasoning-Vision效果展示:低资源语言(如日/韩/西)图文推理能力 1. 多模态推理工具概览 Phi-4-Reasoning-Vision是一款基于微软Phi-4-reasoning-vision-15B多模态大模型开发的高性能推理工具。该工具专为双卡RTX 4090环境优化&#x…...
nlp_structbert_sentence-similarity_chinese-large实战教程:本地知识库向量化检索完整指南
nlp_structbert_sentence-similarity_chinese-large实战教程:本地知识库向量化检索完整指南 你是不是经常遇到这样的问题:面对公司内部堆积如山的文档、产品手册、客服记录,想找某个特定信息时,却像大海捞针一样困难?…...
Opencascade避坑指南:Select()函数7个常见使用误区与调试技巧
Opencascade避坑指南:Select()函数7个常见使用误区与调试技巧 在三维建模和CAD开发领域,Opencascade作为一款强大的开源几何内核,其交互功能一直是开发者关注的焦点。而AIS_InteractiveContext中的Select()函数,作为对象选取的核心…...
HunyuanVideo-Foley镜像特性解析:低内存加载方案与显存碎片优化机制
HunyuanVideo-Foley镜像特性解析:低内存加载方案与显存碎片优化机制 1. 镜像概述与核心能力 HunyuanVideo-Foley是一款专为视频生成与音效合成任务优化的私有部署镜像,基于RTX 4090D 24GB显存环境深度调优。该镜像将视频生成与Foley音效生成能力整合在…...
