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

Vue+Django2.0 REST framework 打造前后端分离的生鲜电商项目(五)商品列表页

在views_base被 JsonResponse,HttpResponse这两个模块之间的有什么不同所引起好奇心,都是返回字符串,一个可以返回json,另一个需要添加一些设置才能返回json。...2 它基于 ECMAScript (w3c制定的js规范)的一个子集,采用完全独立于编程语言的文本格式存储表示数据。 显然,这解释不像人话,于是觉得自己动手丰衣足食才是硬道理。...2.自定义过滤器 在settings.py中注册django_filter,在末尾配置过滤 1 INSTALLED_APPS = [ 2 ..... 3 'django_filters...django_filters.rest_framework.FilterSet): 5 """商品过滤器""" 6 price_min=django_filters.NumberFilter...小结 我们通过viewsets一个类,完成了商品列表页,分页,过滤搜索,排序。

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

django rest framework通用view

1. django View   首先,我们使用django自带的view,获取一个课程的列表: # drf是通过json的格式进行数据交互的,所以这里也返回json数据 import json from...APIView 接下来,我们用APIView实现 from rest_framework.views import APIView from rest_framework.response import...APIViewdjango本身的View进行封装,从上述的代码,这样分析,两者的差别看起来不是很大,但实际APIView做了很多东西,它定义了很多属性与方法,举几个例子 # 这三个是常用的属性...两者的存在一个即可,通过这个,在返回时,不必去指定某个serilizer 设置过滤器模板:filter_backends 设置分页模板:pagination_class 加入 lookup_field=...,而且还能实现http方法与mixins的相关方法进行连接。

1K20

RESTful源码笔记之RESTful Framework的APIview, Viewset总结分析

0x01 django View 首先,我们使用django自带的view,获取一个课程的列表: # drf是通过json的格式进行数据交互的,所以这里也返回json数据 import json from...接下来,我们用APIView实现 from rest_framework.views import APIView from rest_framework.response import Response...APIViewdjango本身的View进行封装,从上述的代码,这样分析,两者的差别看起来不是很大,但实际APIView做了很多东西,它定义了很多属性与方法,举几个例子 # 这三个是常用的属性...两者的存在一个即可,通过这个,在返回时,不必去指定某个serilizer 设置过滤器模板:filter_backends 设置分页模板:pagination_class 加入 lookup_field=...,而且还能实现http方法与mixins的相关方法进行连接。

1K10

Django+Vue开发生鲜电商平台之5.使用DRF实现商品列表页过滤

RequestResponse类 2.DRF过滤器 过滤的使用 搜索的使用 排序的使用 胸怀是非常重要的,一个人有眼光没胸怀是很倒霉的。...GenericAPIView继承自APIView,在APIView的基础上实现过滤、分页等功能; GenericAPIView结合mixins形成各种APIViewCreateAPIView、ListAPIView...2.DRF过滤器 DRF提供了过滤功能,实现简单高效的过滤。...此时可以进行更加个性化的过滤。 除此之外,还可以自定义过滤的方法满足个性化的需求。...还可以通过在字段前面加上各种字符限制搜索行为search_fields: '^'开始搜索 '='完全匹配 '@'全文搜索(当前仅支持Django的MySQL后端) '$'正则表达式搜索 修改如下:

5.3K20

DRF框架学习(四)

6.1 使用 DRF框架默认没有进行全局限流设置,但是提供了配置项,我们可以在配置文件,使用 DEFAULT_THROTTLE_CLASSES DEFAULT_THROTTLE_RATES进行全局配置...pass 7.过滤 对于列表数据可能需要根据字段进行过滤,我们可以通过添加django-fitlter扩展增强支持。...pip install django-filter 在配置文件增加过滤后端的设置: INSTALLED_APPS = [ ......btitle=西游记 8.排序 对于列表数据,REST framework提供了OrderingFilter过滤器帮助我们快速指明数据按照指定字段进行排序。...8.1使用方法: 在类视图中设置filter_backends,使用 rest_framework.filters.OrderingFilter过滤器,REST framework会在请求的查询字符串参数检查是否包含了

2.7K40

DRF 过滤排序分页异常处理

对于列表数据可能需要根据字段进行过滤,我们可以通过添加django-fitlter扩展增强支持 安装:pip install django-filter 导入:from django_filters.rest_framework...'django_filters', # 需要注册应用, ] 在视图中添加filter_fields属性,指定可以过滤的字段 from django_filters.rest_framework import...,是精准匹配 第三方过滤类的使用,视图类也必须继承GenericAPIView才能使用 在链接内通过&表示的关系 自定义过滤类 步骤: 写一个类继承BaseFilterBackend,重写filter_queryset...方法,返回queryset对象,qs对象是过滤后的 视图类中使用,且不需要重写类属性去指定过滤的字段 过滤使用,支持模糊查询(自己定制过滤方式),通过filter方法指定过滤规则 自定义过滤类 '''...过滤器帮助我们快速指明数据按照指定字段进行排序。

1K40

【愚公系列】2022年04月 Python教学课程 74-DRF框架之过滤

文章目录 一、普通过滤 1.针对当前用户进行筛选 2.针对网址进行筛选 3.针对查询参数进行筛选 二、通用过滤 1.全局设置 2.视图设置 3.简单过滤 4.搜索过滤 4.1 多字段查找 4.2 多字段查找...4.3 嵌套查找 4.4 参数说明 4.5 自定义过滤器 一、普通过滤 REST 框架的通用列表视图的默认行为是返回模型管理器的整个查询集。...通用筛选器还可以在可浏览 API 管理 API 显示为 HTML 控件。...搜索参数可能包含多个搜索词,这些搜索词应以空格/或逗号分隔。如果使用多个搜索词,则仅当所有提供的词都匹配时,才会在列表返回对象。 搜索行为可能会因在 前面加上各种字符受到限制。...search_fields = ['=username', '=email'] 4.5 自定义过滤器 默认情况下,搜索参数名为 ,但该设置可能会覆盖该参数。

2.5K30

Django REST Swagger实现指定api参数

难点 对 Django REST Swagger < 2 的版本,要指定swagger的api参数非常容易,只要将相关说明以特定格式yaml格式写在相应api的视图函数的文档字符串(DocStrings...比如这样的格式: def cancel(self, request, id): """ desc: 取消任务,进行的参与者得到报酬 ret: msg err: 404页面/msg input...一种解决方案 在Django REST framework基于类的api视图中定义filter_class过滤出模型(models)的特定字段,swagger会根据这些字段渲染。...schema_view urlpatterns = [ url(r'^v1/api/', include([ url(r'^doc/', schema_view), ])), 然后在需要指定api参数的视图类(APIView...或ModelViewSet)重载schema: schema = CustomSchema() 以上这篇Django REST Swagger实现指定api参数就是小编分享给大家的全部内容了,希望能给大家一个参考

2.1K20

drf之请求、响应、视图

如果前端请求进行Accept声明,则会采用默认方式处理响应数据,我们可以通过配置修改默认响应格式。 可以在rest_framework.settings 查找所有的drf默认配置项。...APIView与View的不同之处在于: 传入到视图方法的是REST framework的Request对象,不是Django的HttpRequeset对象; 视图方法可以返回REST framework...在APIView仍以常规的类视图定义方法实现get() 、post() 或者其他请求方式的方法。例如使用APIView简单的实现五个增删查改的API接口。...该Mixin的list方法会对数据进行过滤分页。...**ViewSet主要通过继承ViewSetMixin实现在调用as_view()时传入字典({‘get’:’list’})的映射处理工作。

2.1K20

DRF 视图组件

扩展类不是视图类,没有集成APIView,需要配合GenericAPIView使用,因为五个扩展类的实现需要调用GenericAPIView提供的序列化器与数据库查询的方法 主要是用来对数据进行增删改查...在ViewSet,没有提供任何动作action方法,需要我们自己实现action方法。...GenericViewSet就帮助我们完成了这样的继承工作,继承自GenericAPIView与ViewSetMixin,在实现了调用as_view()时传入字典({'get':'list'}`)的映射处理工作的同时...+五个扩展类写,第四层通过九个视图子类来写,第五层是通过ViewSet写 ps:第几层是意淫出来的词不要介意~,一层更比一层牛,欲练此功必先自宫!!!...例如,创建绑定'GET''POST'方法的具体视图 到“列表”“创建”动作… = MyViewSet视图。

90410

Django Rest Framework

initialize_request(self, request, *args, **kwargs): 确保请求对象传递给处理程序方法是request的一个实例,不是django的HttpRequest...REST框架提供的通用视图允许快速构建API观点紧密地映射到数据库模型,如果通用视图不适合的需要API, 可以使用常规APIView类,或重用mixin基类使用的通用视图组成自己的组可重用通用视图。...DEFAULT_PAGINATION_CLASS 值相同,设置分页数过滤器属性: 'rest_framework.pagination.PageNumberPagination’ filter_backends...注意,mixin类提供操作方法不是定义处理程序方法,比如. get(). post(),直接。这允许更灵活的组合的行为。 通过rest_framework.mixins引用。...ViewSet同样不提供具体行为方法的实现,可以重写定义一些请求处理方法。 代替了原来APIVIew的POST,GET等方法,取而代之的是list,create等方法。

2.3K60

五、商品列表页

5.1.django的view实现商品列表页 (1)goods/view_base.py 在goods文件夹下面新建view_base.py,为了区分djangodjango rest framework...,images保存的是一个相对路径,我们还需要补全路径,而这些drf都可以帮助我们做到 以上写了这么多只是为了引入django rest framework简单介绍django的序列化用法,下面就是重点讲解...django rest framework了 5.3.APIview方式实现商品列表页 (1)安装 pip install coreapi                         drf的文档支持...还有其它几个mixin(增删改查局部),这些功能都是mixin做的  我们一般都是用viewsets ViewSet类与View类其实几乎是相同的,但提供的是read或update这些操作,不是get...Router提供了一种简单,快速,集成的方式定义一系列的urls

4.7K00

Django REST framework+Vue 打造生鲜超市(四)

五、商品列表页 5.1.django的view实现商品列表页 (1)goods/view_base.py 在goods文件夹下面新建view_base.py,为了区分djangodjango rest...都可以帮助我们做到 以上写了这么多只是为了引入django rest framework简单介绍django的序列化用法,下面就是重点讲解django rest framework了 5.3.APIview...5.5.GenericView实现商品列表页 (1)mixinsgeneric一起用用 GenericAPIView继承APIView,封装了很多方法,比APIView功能更强大 class GenericAPIView...5.7.viewsetsrouter完成商品列表页 主要用到viewsets的GenericViewSet ?...还有其它几个mixin(增删改查局部),这些功能都是mixin做的  我们一般都是用viewsets ViewSet类与View类其实几乎是相同的,但提供的是read或update这些操作,不是get

4.8K90

DRF进阶之DRF视图常用功能

GenericAPIView:对APIView更高层次的封装,例如增加分页、过滤器 GenericViewSet:继承GenericAPIViewViewSet ViewSet:继承APIView...增加serializer_class属性,直接指定使用的序列化器 增加过滤器属性:filter_backends 增加分页属性:pagination_class 增加lookup_field属性实现get_object.../api-guide/authentication/#sessionauthentication 由于Django默认提供Session存储机制,可直接通过登录内置管理后台进行验证。...对于列表数据可能需要根据字段进行过滤,我们可以通过添加django-fitlter扩展增强支持 参考文档: https://www.django-rest-framework.org/api-guide...sex=%E7%94%B7 搜索排序 DRF提供过滤器帮助我们快速对字段进行搜索排序 继续修改app视图中新增过滤字段: myapp/views.py from rest_framework.viewsets

4.4K10
领券