Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何抓取具有相同标签的文章,以便在模板中显示这些文章?

如何抓取具有相同标签的文章,以便在模板中显示这些文章?
EN

Stack Overflow用户
提问于 2019-07-06 22:36:29
回答 1查看 42关注 0票数 1

我是Django的新手,所以谢谢你的帮助。我有一个文章模型,我想通过为每篇文章分配标签来显示相关/相似的文章。

我曾尝试在我的views.py中创建一个函数/过滤器,它继承自self (特定的文章),并过滤出具有相同标签的文章,但没有成功。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from django.db import models

class Article(models.Model):
  title = models.CharField(max_length=200, blank=True)
  thumbnail = models.ImageField(max_length=200, blank=True)
  tag = models.CharField(max_length=200, blank=True)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from .models import Article

class ArticleView(DetailView):
    template_name = "article/article.html"
    model = Article

    def related_articles(self):
        tagged = Article.objects.filter(tag=self.tag)
        
        return tagged

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{% if articles.objects.all %}
  {% for article in article.objects.all|related_articles %}
  <div>
    <img src="{{ article.thumbnail.url }}">
    <span>{{ article.title }}</span>
  </div>
  {% endfor %}
{% endif %}

所以,每当我尝试使用这个过滤器时,我都得不到任何结果。

EN

回答 1

Stack Overflow用户

发布于 2019-07-07 00:01:36

我认为related_articles函数应该在模型类上。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from django.db import models

class Article(models.Model):
  title = models.CharField(max_length=200, blank=True)
  thumbnail = models.ImageField(max_length=200, blank=True)
  tag = models.CharField(max_length=200, blank=True)

  def related_articles(self):
    tagged = Article.objects.filter(tag=self.tag).exclude(pk=self.pk)

假设你有一个这样的视图:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def articles(request):
    articles = Articles.objects.all()
    context = dict(articles=articles)

    return render(request, 'app/articles.html', context)

你可以有一个这样的模板:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{% if articles|length %}
  {% for article in articles %}
  <div>
    <img src="{{ article.thumbnail.url }}">
    <span>{{ article.title }}</span>
    {% for related_article in article.related_articles %}
        <span>{{ related_article.title }}</span>
    {% endfor %}
  </div>
  {% endfor %}
{% endif %}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56918095

复制
相关文章
CSDN文章抓取
在抓取网页的时候只想抓取主要的文本框,例如 csdn 中的主要文本框为下图红色框:
机器学习和大数据挖掘
2019/07/02
8980
如何使用PYTHON抓取新闻文章
在本文中,我们将讨论如何使用Python抓取新闻报道。这可以使用方便的报纸包装来完成。
用户7466307
2020/09/14
2.4K0
如何使用PYTHON抓取新闻文章
Typecho调用分类文章标签文章相关文章
以上就是获取分类mid等于1的最新6篇文章,pageSize=6就是指定调用数量,mid=1指定分类mid,也可以用缩略名方式替换如slug=name其中name就是mid等于1的分类的缩略名。
泽泽社长
2023/04/17
1.6K0
ZBLOG PHP文章页模板增加canonical标签方法
一般我们在寻找的ZBLOG PHP程序主题的时候开发者没有注重代码的规范,有的主题是没有canonical标签的,那我们如何添加到主题中呢?
老蒋
2021/12/27
1.2K0
如何制定SEO文章发布模板?
我们都知道SEO编辑每天面临着大量的文章发布,为了使得原创文章发挥最大的效果,我们通常会按照,符合SEO标准的策略,去发布文章,一个成熟的SEO团队,通常会有一个文章发布的模板,用于提高工作效率:
蝙蝠侠IT
2019/07/04
7210
如何制定SEO文章发布模板?
wordpress如何删除没有文章的tags标签
wordpress站点除了可以按博客category分类外,还可以在写文章的时候适当添加tags标签(当然,if you are lazy,哈哈,可以安装auto tag插件来实现),发布的posts也会按tags标签来划分。但是,当你修改文章顺便也改了本文tag标签,or因为某些原因删除文章,不再使用的标签,WordPress 是不会自动删除的,需要人工清理下,一个个删除?你out 了!试试下面的sql语句吧
ytkah
2022/03/14
1.6K0
Python 系列文章 —— 新闻抓取
demo import newspaper # 词频统计库 import collections # numpy库 import numpy as np # 结巴分词 import jieba # 词云展示库 import wordcloud # 图像处理库 from PIL import Image # 图像展示库 import matplotlib.pyplot as plt # 获取文章 article = newspaper.Article('https://news.sina.com.cn/o/
玩转编程
2022/01/15
6230
python抓取头条文章
最近做了个项目,希望把运营同学在今日头条上发的文章自动发布到公司的官方博客中去,然后可以人工筛选需要发布的文章~ 很明显,要实现这功能,就需要程序自动抓取头条号发布过的文章(文本、图片、视频等元素),然后插入到博客后台的数据库。 单说爬虫,分定向爬虫和全网爬虫。除了搜索引擎会使用全网爬虫,大部分自己写的爬虫都是定向爬虫,比如抓取豆瓣电影数据,抓取youtube视频,或者今天要说的抓取头条文章等。 因为python有很多专门实现爬虫的库,比如urllib,requests,scrapy,grab等,所以首选p
连胜
2018/03/07
2.4K0
python抓取头条文章
在文章页中显示摘要的方法 可用做文章页描述
刚刚在论坛里有人“问怎么样把添加文章时的所填的“文章摘要”的内容变为该文章的描述(即description) ”,以下是解决方法:
用户8099761
2023/05/10
8830
dedecms删除没有文章的标签
以上的sql语句可以把整个网站的无效TAG标签删除掉,大家请谨慎操作,事先一定要备份数据库
ytkah
2022/03/14
8.3K0
typecho的文章判断当前标签
typecho的tag的文档就这么一句 tags(',', true, 'none'); ?> 说明:(',', true, 'none') 第一个单引号间的逗号代表标签与标签的间隔用逗号隔开,tru
泽泽社长
2023/04/17
7320
公众号文章抓取工具python
爬取微信公众号有三种方法: 第一种:用搜狗微信公众号搜过,这个只能收到前10条; 第二种:用fiddler或手机抓包,从访问链接去获得appmsg_token,发现虽然这个值就在html页面里,但只有抓包的数据里含有效值,直接访问的是空的,而且还有时效性。这样,每次都要抓包获取,就很麻烦。 第三种:就是这种用公众号搜公众号的,虽然速度慢点,但便捷了不少。
程序源代码
2019/05/15
1.7K0
公众号文章抓取工具python
如何让置顶文章只显示标题不显示摘要
    本方法来源于论坛hackhp之手,用5.3.1测试正常显示,如有疑问可下面留言。
用户8099761
2023/05/10
5290
Wordpress显示所有文章
使用下面loop只能展示当前分类下的文章 <?php if(have_posts()): ?> <?php while(have_posts()):the_
切图仔
2022/09/14
7400
腾讯云TCB云函数抓取微信订阅号话题标签文章
需求是获取文章的标题、跳转链接、发布时间及文章配图的缩略图就可以了,具体代码如下。
薛定喵君
2020/11/23
1.9K0
腾讯云TCB云函数抓取微信订阅号话题标签文章
为WordPress 文章中的链接自动添加 nofollow标签
nofollow 标签是神马东东在这里不多说,请自行谷歌。默认的话,WordPress是不会为你的文章的链接添加rel="nofollow"的。如果你需要这么做的话,不必一个个手动添加,直接在主题的funtions .php文件那里加入以下代码就可以自动实现了。 add_filter('the_content', 'auto_nofollow'); function auto_nofollow($content) { //return stripslashes(wp_rel_nofollow($conten
Jeff
2018/01/19
1.4K0
如何查询同时包含多个指定标签的文章
下面问题来了:如何查询 tag_id 同时包含 1、2、3 的 article_id?此问题看似简单,实际上也非常简单,本来是一道送分题,但是很多人却做不出来!
LA0WAN9
2021/12/14
1.9K0
如何查询同时包含多个指定标签的文章
wordpress首页文章列表不显示指定分类文章
那会说了会为大家讲解自己怎么将『微语』制作出来的,现在先做些准备工作,其实这也是众人的智慧凝聚出来的,光我自己你就是到让中国男足冲出世界杯那天我都是实现不出来的,废话不多说了,先看看这篇文章的内容吧,本篇为抄袭而来,最后会像往常一样为大家附上连接地址。
WindCoder
2018/09/20
2.1K0
wordpress首页文章列表不显示指定分类文章
如何在DEDECMS织梦模板中调用全站相关文章?
很多站长在使用DedeCMS搭建网站的时候,都希望能够在文章内容页底部调用几篇与本篇文章相关的文章,这样不但可以去除DEDECMS默认模版原有的生硬,增加美观度,而且对SEO优化和提升网站PV也有很大的帮助,织梦文章内容页默认模板缺少相关文章,对用户及搜索引擎查找及判断文章主题不利。
茹莱神兽
2022/01/18
11.5K0
如何在DEDECMS织梦模板中调用全站相关文章?
zblogphp随机显示文章的教程
最近几次上架新主题的时候都被驳回了,原因是zblog博客已经全面禁止利有“rand()”函数进行提取,不让使用“rand()”原因就是:“rand()”不支持mysql以外的数据库,在数据库数据比较多的情况下速度会变得很慢。
李洋博客
2021/06/15
6170

相似问题

抓取文章链接,然后抓取链接以获取文章作者

14

抓取正确的文章ID以在Publify中合并文章

25

使用与当前文章相同的标签购物退货文章

12

无法加载页面来抓取文章标签

10

有趣的新闻文章/博客文章抓取问题

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文