Django Rest Framework
Mark Huo
With great power comes great responsibility
展开
-
Django Rest Framework项目实战(一)
初始化项目注意点1.settings种的DATABASE设置,加一个选择,为了第三方登录模块使用‘OPTIONS’: { ‘init_command’: ‘SET storage_engine=INNODB;’ }异常处理,mysql版本错误,改为“OPTIONS”: {“init_command”: “SET default_storage_engine=INNODB;”}...翻译 2019-06-08 16:58:05 · 5052 阅读 · 0 评论 -
报错集锦
1.AttributeType错误 bytes没有encodequery = query.decode(errors=‘replace’) #改为decode2.RuntimeWarning: DateTimeField GoodCategory.add_time received a naive datetime (2019-05-19 20:06:02.170166) while ti...原创 2019-06-16 19:47:55 · 146 阅读 · 0 评论 -
DRF总结(三)Serializer的使用
DRF总结(三)Serializer的使用使用Serializer类serializer的基础使用序列化单个字段几个特殊字段HiddleField隐藏字段自定义字段继承ModelSerializer序列化model中的字段重写create方法进行持久化操作直接使用外键主键作为值 PrimaryKeyRelatedField引入外键的序列化类,序列化外键表中的信息字段中的参数使用read_only和...原创 2019-06-10 14:48:20 · 10182 阅读 · 1 评论 -
DRF总结(六)Model中的操作
Model中的操作使用函数生成model字段默认值存在多级类目时,建议使用自关联正确处理一对多的关系使用UEditor设置联合唯一索引 unique_together表含义注意点使用函数生成model字段默认值以使用datetime举例## 不能写成datetime.now() 不然记录的是模型初始化的时间,而非添加时间add_time = models.DateTimeField(d...原创 2019-06-10 14:53:42 · 1120 阅读 · 0 评论 -
DRF总结(五)Django Rest FrameWork中一些自带的功能的使用
Django Rest FrameWork中一些自带的功能的使用使用token和session使用信号量获取用户模块使用DRF提供的缓冲拓展使用token和sessionhttps://blog.csdn.net/weixin_42142216/article/details/91345957使用信号量栗子1:加密保存密码singals.pypost_save 该信号在保...原创 2019-06-10 14:52:24 · 750 阅读 · 0 评论 -
DRF总结(四)各类插件的使用
DRF总结(四)各类插件的使用各类插件的使用服务器设置跨域 django-cors-headers(中间件)JWT(JSON WEB TOKEN)Model中使用使用UEditor使用DRF生成开发文档使用Djano-redis设置缓存Ip限速访问各类插件的使用服务器设置跨域 django-cors-headers(中间件)https://github.com/ottoyiu/django...原创 2019-06-10 14:50:42 · 521 阅读 · 0 评论 -
DRF总结(二)View中各个配置的使用
DRF总结(二)View中各个配置的使用常用的属性,以以下代码为例查询结果集分页过滤搜索使用Drf进行search_filter排序使用DRF进行ordering_filter配置serializer类权限验证在views中获取原始数据和serializer验证后的数据View中可以重写的方法create方法(CreateMinix)perform_create(CreateMinix)looku...原创 2019-06-10 14:44:08 · 2023 阅读 · 0 评论 -
DRF总结(一)--图解各个View之间的关系
图解各个View之间的关系1.各个View之间的关系1.1 首先弄懂CBV和FBVFBV模式(Function Base View)CBV模式(Class Base View)1.2 view的执行流程1.3 ApiView到底做了什么?1.4 Mixin和GenericAPIView又做了什么1.5 看看ModelViewSet又做了啥最后感谢大佬提供的源码分析参考1.各个View之间的关系...原创 2019-06-09 21:15:22 · 970 阅读 · 0 评论 -
DRF实战--首页剩余细节开发
首页轮播图的开发viewsclass BannerViewset(mixins.ListModelMixin, viewsets.GenericViewSet): """ 获取轮播图列表 """ queryset = Banner.objects.all().order_by("index") serializer_class = BannerSeria...翻译 2019-06-09 09:20:16 · 368 阅读 · 0 评论 -
DRF--缓存优化
1.使用DRF提供的缓冲拓展GoodsListViewSet中继承CacheResponseMixinfrom rest_framework_extensions.cache.mixins import CacheResponseMixinclass GoodsListViewSet(CacheResponseMixin,mixins.ListModelMixin,mixins.Retr...翻译 2019-06-09 09:18:42 · 314 阅读 · 0 评论 -
DRF实战--用户的购物支付
用户的购物支付购物车的实现viewsclass ShopCartViewset(viewsets.ModelViewSet): serializer_class = ShopCartSerializer permission_classes = (IsAuthenticated, IsOwnerOrReadOnly) authentication_classes...翻译 2019-06-09 09:15:50 · 353 阅读 · 0 评论 -
DRF实战---个人中心开发
个人中心开发使用DRF生成开发文档https://www.django-rest-framework.org/topics/documenting-your-api/提供接口获取单个用户的个人信息复用ConsumerViewset 继承RetrieveModelMixinclass ConsumerViewset(CreateModelMixin, mixins.UpdateMode...翻译 2019-06-08 21:27:57 · 916 阅读 · 0 评论 -
DRF实战---实现商品详情页
商品详情页1.GoodsListView中继承RetrieveModelMixinclass GoodsListViewSet(mixins.ListModelMixin,mixins.RetrieveModelMixin,viewsets.GenericViewSet):2.serializer中加入外键,获取轮播图class GoodsImageSerializer(serializ...翻译 2019-06-08 21:24:12 · 789 阅读 · 0 评论 -
DRF实战---手机登录和注册
手机登录和注册1.首先我们需要在settings中配置Sessionhttps://www.django-rest-framework.org/api-guide/authentication/2.配置TokenAuthenticationINSTALLED_APPS = ( ... 'rest_framework.authtoken')执行数据库操作1.ma...翻译 2019-06-08 17:02:28 · 3016 阅读 · 0 评论 -
DRF实战--展示商品列表
展示商品列表商品分类商品需要三层分类,所以需要三个serializer分别序列化三次自己class GoodCategorySerializer3(serializers.ModelSerializer): ''' 三级分类 ''' class Meta: model = GoodCategory fields = "__a...翻译 2019-06-08 16:59:56 · 551 阅读 · 0 评论 -
第三方登录过程分析
第三方登录原理解析其实,第三方登录的模式都大同小异,基本都是OAuth2.0模式,我们以新浪微博的第三方登录举例:新浪微博登录官方文档:https://open.weibo.com/wiki/授权机制说明我们来根据流程图一步步分析此处client表示我们的web应用A.用户点击第三方登录按钮,client跳转到微博服务器的页面B.用户输入用户名密码,点击登录后,微博服务器让...翻译 2019-06-30 01:10:48 · 3525 阅读 · 0 评论