首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

何在 WordPress 获取最新被评论文章列表

我之前「WordPress 文章查询教程6:如何使用排序相关参数」详细介绍了文章查询排序参数,其中介绍可以通过评论数进行排序: $query = new WP_Query( array(...'orderby' => 'comment_count' ) ); 但是需求总是不停变化,现在又有了新需求,获取最新被评论文章列表,意思就是某篇文章刚被评论,它就排到最前面,在某些社交需求网站可能需要用到...但是使用 SQL 来实现可能就会造成 API 不一致问题,无法直接使用 WP_Query 进行各种操作,所以最好是通过 posts_clauses 接口实现让 WP_Query 排序参数支持 comment_date...$order}"; } return $clauses; }, 10, 2); 上面的代码简单解释一下,就是通过 posts_clauses 接口实现文章表和评论表连表,然后通过评论时间进行排序获取最新被评论文章列表...当然你也可以不需要了解和使用上面的代码,因为 WPJAM Basic 已经整合,你只需要知道最后可以通过下面简单方式就能够获取最新被评论文章列表: $query = new WP_Query( array

1.5K30
您找到你想要的搜索结果了吗?
是的
没有找到

C#.NET 如何在第一次机会异常 FirstChanceException 获取比较完整异常堆栈

本文介绍如何在 FirstChangeException 事件拿到比较完整异常堆栈,而不只是第一帧。...这时,这个异常还没有寻找任何一个可以处理它 catch 块,在此事件,你几乎是第一时间拿到了这个异常信息。...另外,你也可以用 ExceptionDispatchInfo 让内部异常堆栈也连接起来,详见我另一篇博客: 使用 ExceptionDispatchInfo 捕捉并重新抛出异常 - 吕毅 获取完整第一次机会异常堆栈...我们需要等到 FirstChanceException 事件异常被 catch 到,就能获取到第一次抛出地方到 catch 处之间所有帧。...因为我们只需要当前调用堆栈异常处理执行完成即可。

25740

第 9 篇:实现分类、标签、归档日期接口

例如点击某个分类,博客将跳转到该分类下全部文章列表页面。这些数据展示都需要开发对应接口,以便前端调用获取数据。...具体来说,获取博客文章发表时间归档列表方法是调用查询集(QuerySet) dates 方法,提取记录日期。...回顾一下我们之前在使用视图集 viewset 时提到过 action(动作)概念,django-rest-framework 预定义了几个标准动作,分别为 list 获取资源列表,retrieve...获取单个资源、update 和 partial_update 更新资源、destroy 删除资源,这些 action 具体实现方法,分别由 mixins 模块混入类提供。...对于这样场景,我们可以在请求 API 时加上查询参数,django-rest-framework 解析查询参数,然后从全部文章列表过滤出查询所指定文章列表再返回。

2.6K30

第 11 篇:基于 drf-haystack 文章搜索接口

django-haystack 默认返回搜索结果是一个类似于 django QuerySet 对象,需要配合模板系统使用,因为未被序列化,所以无法直接用于 django-rest-framework...既然是标准化东西,肯定已经有人写好了相关功能以供复用。...混入类,提供搜索结果序列化相关功能。...对象,这个对象就是视图中 HTTP 请求对象,但是因为 django request 对象无法像 flask 那样从全局获取,因此 drf 在视图中将其保存在了序列化器和序列化字段 context...属性以便在视图外访问;获取 request 对象目的是希望获取查询关键字,query_params 属性是一个类字典对象,用于记录来自 URL 查询参数,例如我们之前测试查询功能时调用 URL

1.6K20

第 7 篇:文章详情 API 接口

self.get_serializer(instance) return Response(serializer.data) retrieve 方法首先调用 get_object 方法获取需序列化对象...get_object 方法通常情况下依据以下两点来筛选出单个资源对象: get_queryset 方法(或者 queryset 属性,get_queryset 方法返回值优先)返回资源列表对象。...lookup_field 属性指定资源筛选字段(默认为 pk)。django-rest-framework 以该字段值从 get_queryset 返回资源列表筛选出单个资源对象。...: 可以看到很多我们需要在详情页展示字段值并没有返回,比如文章正文(body)。...那么如何在视图集中区分不同 action 动作呢?视图集有一个 action 属性,专门用来记录当前请求对应动作。

99830

第 5 篇:用视图集,简化你代码

同样,针对 Web 开发常见逻辑,django-rest-framework 也提供了通用视图集,进一步简化开发工作。...例如这里 basename='post',列出资源列表 action 为 list(见上一篇教程关于 action 讲解),所以生成获取文章资源列表视图函数名为 post-list,使用 reverse...('post-list') 就可以解析出获取文章资源列表 API(URL)。...basename 可以不指定,django-rest-framework 会自动从视图集 get_queryset 方法返回结果所关联 model 获取一个默认值,其值为 model 名小写。...但是我们博客文章列表是有分页功能,接下来我们就使用 django-rest-framework 提供分页辅助类,一行代码就可以完成分页功能。

80110

第 3 篇:实现博客首页文章列表 API

在基于模板引擎开发方式,博客首页文章列表视图函数可能是这样: from django.shortcuts import render from .models import Post def...视图函数里我们先从数据库获取文章列表资源,然后使用序列化器对其进行序列化,序列化后数据存在 data 属性里,我们把它传递给 HTTP 响应类 Response,并将这个响应返回。...在转换过程,还会进行数据合法性校验。 先来看一个简单例子(摘自 django-rest-framework 官网示例),理解序列化器工作原理和功能。...被序列化对象序列化后数据是一个扁平 Python 字典,字典数据描述了这个对象资源。...而对于文章关联 category、author,它们本身也是一个对象django-rest-framework 就无法推测该使用什么类型系列化字段来序列化它们了。

98620

第 4 篇:用类视图实现首页 API

django-rest-framework 中最基本类视图是 views.APIView,这个类可以看成是上一篇教程中用到 api_view 装饰器类版本。...这个类比较基础,其核心功能就是 HTTP 请求预处理、分发请求给对应处理函数,以及 HTTP 响应后处理,还有就是 as_view 方法将类转为函数(要注意与被请求 URL 绑定视图必须是一个可调用对象...继承自这个类视图,只需对其类属性做一些简单配置,就能获得获取单个资源、获取资源列表、资源列表分页等功能。当然,这个类作为其他特定功能类视图基类,我们一般也很少使用。...django-rest-framework 针对各种类型资源操作,提供了对应通用类视图,这些通用类视图主要包括: CreateAPIView 用于创建资源 POST 请求。...最后一步就是在 urls.py 绑定接口,把原来绑定函数视图改为现在类视图: path('api/index/', views.IndexPostListAPIView.as_view()) 启动开发服务器

75410

Python黑科技 | 一步一步教你如何搭建自己视频聚合站

实现 基础介绍 聚合站思路就是采集目标站点相关信息,通过数据处理将想要信息做提取,整理入库,然后通过web展示。...(8.1万)(这里有个注意地方,斗鱼的人气可能是X万,需要把这个万转化成数值方便排序) 主播名称(衣锦夜行) 页面处理与采集 所有完整直播站处理代码在fetch.py #### 命中主播信息节点...(lean cloud不支持全部遍历,所以用了while循环来遍历所有,先清空,再采集): /chairmans(redis版本才支持) Django-rest-framework提供,可以通过分页方式展现当前库信息.../chairman/{id}(redis版本才支持) Django-rest-framework提供,可以根据指定id获取某一个主播信息 刷新机制 lean cloud提供了一种云函数概念,并且可以像配置...因为考虑到在手机上显示,所以做了自适应 列表列表渲染使用了Django模板引擎 由于lean cloud存储和Djangoorm不一样,所以这里需要将attributes放到列表,页面上才能用模板语法进行访问

1.8K70

第 6 篇:分页接口

作者:HelloGitHub-追梦人物[1] 文中所涉及示例代码,已同步更新到 HelloGitHub-Team 仓库[2] 如果没有设置分页,django-rest-framework 会将所有资源类表序列化后返回...django-rest-framework 为分页功能提供了多个辅助类,常用有: PageNumberPagination 将资源分为第 1 页、第 2 页...第 n 页,使用页码号请求分页结果。...offset=20&limit=5,将获取文章资源列表第 20 篇后 5 篇文章。如果 offset 以等差数列递增,limit 保持不变,则等价于按页码分页。...要使用分页功能非常简单,只需在项目的配置文件配置好分页选项,即可全局启用分页功能。...配置文件分页设置将作用于全局,如果某个视图函数或者视图集不想使用全局配置怎么办呢?可以在视图函数或者视图集中设置 pagination_class 属性,指定需要使用分页辅助类即可。

61520

第 15 篇:接口单元测试

PostViewSet 视图集接口则包含了文章列表、文章详情、评论列表、归档日期列表等。对于文章列表接口,还可以通过查询参数对请求文章列表资源进行过滤,获取全部文章一个子集。...(self): """ 这个方法测试获取某个分类下文章列表接口,预期响应状态码为 200,数据为文章列表序列化后结果 """ url...(self): """ 这个方法测试获取归档日期下文章列表接口,预期响应状态码为 200,数据为文章列表序列化后结果 """ url...,序列化器任何序列化字段均可以通过直接访问 context 属性而间接访问到 _context 属性,从而拿到 request 对象。...# 请求访问完整 URL 就是 /?

1.2K20

第 12 篇:加缓存为接口提速

作者:HelloGitHub-追梦人物 目前,用户对于接口操作基本都需要查询数据库。获取文章列表需要从数据库查询,获取单篇文章需要从数据库查询,获取评论列表也需要查询数据。...但是我们学习 django-rest-framework 不仅仅是为了写博客,也许你在工作,面对是流量非常大系统,这时候缓存就不可或缺。...drf-extensions Cache django 缓存框架比较底层,drf-extensions 在 django 缓存框架基础上,针对 django-rest-framework 封装了更多缓存相关辅助函数和类...request, *args, **kwargs): return super().retrieve(request, *args, **kwargs) 这里我们分别装饰了 list(获取文章列表...再次请求文章列表接口,PostListKeyConstructor 将生成同样缓存 key,这时就可以直接从缓存读到结果并返回了。

1.1K40

django-rest-framework框架学习

在django很著名一个框架是django-rest-framework,帮我们减少了很多工作量,尤其在序列化与反序列化成我们需要格式帮了我们省了很多事 在这里就记录一下个人学习过程 django-rest-framework...api类,只需要继承rest_frameworkgenerics某个类,重写我们需要方法实现合适逻辑即可 在urls.py配置所需要url 一组apidemo 创建一个model 在创建好...在这里只需要继承相关类,复写父类方法即可 # 学生列表 class StudentList(generics.ListCreateAPIView): queryset = Student.objects.all...在get方法self.request.GET.get(‘test’, None)是取出get方法传递参数 lookup_field 应用于执行单个模型实例对象查找模型字段。...P[a-zA-Z]+)/$', StudentDetail.as_view()), ] 分别配置好对列表和单个url 然后运行项目就可以看到我们需要数据 完整代码 在原来基础上进行了扩展

1.2K10

Django 文件导入实现方案

实现思路 1、 上传文件 2、 获取上传文件,本地打开文件,解析数据,处理 view核心代码 def post(self, request, format=None): result =...success'] = False return Response(result, status.HTTP_500_INTERNAL_SERVER_ERROR) 说明: 1、关于更多文件上传相关资料...,TemporaryUploadedFile还拥有以下方法: TemporaryUploadedFile.temporary_file_path(),该函数返回被上传文件全路径,可以通过该方法获取上传文件...如果想要完全替换上传处理器,你可以为upload_handlers赋值一个新列表: request.upload_handlers = [TemporaryFileUploadHandler ()]...以此类推,如果只是想增加一个处理器,并且最优先执行该处理器,我们可以利用listinsert方法,把处理器插入列表即可,形如 request.upload_handlers.insert(index

98520

【经验分享】Django开发中常用到数据库操作总结

查询类操作1)查询所有的结果,相当 sql select * fromlist = Test.objects.all()2)条件查询,filter 相关 sql where,用于过滤查询结果传多个参数...:result = Test.objects.filter(id=1, name=’test’)如果多条件与查询,直接用逗号隔开,filter函数里面的参数都是Test Model字段3)获取单个对象...(id=1).update(name=‘Google’)---删除类操作1)先查询获取要删除对象,然后直接delete操作// 删除id=1数据test1 = Test.objects.get(id...=1)test1.delete()2)条件删除Test.objects.filter(id=1).delete()QuerySet相关Djangomodel查询出来结构类型为QuerySet,本质是一个查询对象集...,要返回是json数据,而django从DB查询出来对象集,可以考虑django-rest-frameworkserializers类,具体可参考:Tutorial 1: 序列化---查询条件总结字段名

63220

Django rest framework源码分析(1)----认证

一、基础 1.1.安装 两种方式: github pip直接安装 pip install django-rest-framework 1.2.需要先了解一些知识 理解下面两个知识点非常重要,django-rest-framework...源码到处都是基于CBV和面向对象封装 (1)面向对象封装两大特性 把同一类方法封装到类 将数据封装到对象 (2)CBV 基于反射实现根据请求方式不同,执行不同方法 原理:url-->view..._request #获取认证类对象,request.authticators #1.封装request request = self.initialize_request...request里面了 (2)get_authenticators() 通过列表生成式,返回对象列表 def get_authenticators(self): """...(全局/局部),通过列表生成式创建对象       ---initial        ----peform_authentication          -----request.user   (每部循环创建对象

2.1K122

django-rest-framework配置json web token进行接口认证

使用django-rest-framework开发api并使用json web token进行身份验证 在这里使用django-rest-framework-jwt这个库来帮助我们简单使用jwt进行身份验证...并解决一些前后端分离而产生跨域问题 流程 安装 安装django-rest-framework 现在接口一般都是restful风格,所以我们直接使用这个框架 在终端输入以下命令安装 pip install...Django REST框架DEFAULT_AUTHENTICATION_CLASSES # django-rest-framework设置 REST_FRAMEWORK = { 'PAGE_SIZE...'JWT_EXPIRATION_DELTA': datetime.timedelta(seconds=300), } 当然还有很多其他相关设置,可以自己翻阅文档 修改使用jwt验证URL from...前端配置 (在前端我们使用jQuery封装ajax来操作get和post) 使用post方法获取token并存入htmllocalStorage INSTALLED_APPS = [

1.3K10

第 10 篇:评论接口

首先是设计评论 API URL,根据 RESTful API 设计规范,评论资源 URL 设计为:/comments/ 对评论资源操作有获取某篇文章下评论列表和创建评论两种操作,因此相应...而在返回资源,post 字段就不会出现。...接下来实现获取评论列表接口。通常情况下,我们都是只获取某篇博客文章下评论列表,因此我们 API 设计成了 /posts/:id/comments/。...().order_by("-created_time") # 对评论列表进行分页,根据 URL 传入参数获取指定页评论 page = self.paginate_queryset...即可进入这篇文章下评论列表接口,获取这篇文章评论列表资源了: 参考资料 [1]HelloGitHub-追梦人物: https://www.zmrenwu.com [2]HelloGitHub-Team

64830

web开发小结

django-rest-framework,于是我又学习了 vue 和 django-rest-framework,当然,我还接触到 redis,elstatic-search,还有大名鼎鼎 nginx...,浪费了太多时间,假如时间能重来,我会系统地学习一遍 html,javascript,css,尤其是 css,为了弄好网页布局,花费时间比甚至比实现一个完整页面还多,这都是因为基础知识太弱导致,...3、有了基础知识后,再熟悉框架, Vue.js 。只所以要用框架,是为了提高开发效率。...在开发环境,前端使用 vue,后端使用 DRF(django rest framework),前端端口 8080,后端端口 8000,在接口调试我们需要将 8080/api/ 请求转发到 8000...【相关链接】: 追梦人物:https://www.zmrenwu.com/ open-cmdb:https://github.com/open-cmdb/cmdb

1.1K20

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券