源码

DRF简单配置使用和源码解析

北城余情 提交于 2019-12-05 01:07:19
什么是DRF? Django REST framework的简写,主要是因为前后端分离出现的,主要用来写API,为前端提供数据接口。 为啥要有DRF? 我们知道即使不用DRF这个工具我们一样能够写出满足RESTful规范的接口,但是为了提高效率我们选择使用DRF作为工具提高开发效率,因为它不仅能够快速的帮我们设计出符合规范的接口,还提供了权限,认证等强大的功能。 DRF安装 pip intsall djangorestframework DRF的使用 导入模块,让类继承APIView from rest_framework.views import APIView class Book(APIView): pass APIView APIView是DRF的核心,DRF所有的组件都是通过APIView分发的 源码部分其实和CBV的源码类似,可以参考https://www.cnblogs.com/zx125/p/11891794.html 源码解析 和之前的源码分析一样,路由匹配那个as_view一定返回的是个函数,只是这个as_view调用的是APIView的 APIView的as_view粗看就是去除csrf验证,其实不然 @classmethod #这个cls就是CBV的C类对象,参数为空 def as_view(cls, **initkwargs):

八十九:redis之python操作redis

↘锁芯ラ 提交于 2019-12-05 01:00:55
安装:pip install redis 连接 字符串操作 插入值 获取 删除值 列表操作,更多操作见源码 添加 获取 集合操作,更多操作见源码 哈希操作,更多操作见源码 事务操作:cache.pipeline(),更多操作见源码 发布与订阅:如用redis异步发邮件 监听 发布 再看监听 过滤数据 来源: https://www.cnblogs.com/zhongyehai/p/11893341.html

源码编译opencv3.4.3 出错:undefined reference to `google::protobuf::internal::Release_CompareAndSwap

偶尔善良 提交于 2019-12-05 00:41:44
打开 protobuf/src/google/protobuf/stubs/atomicops_internals_generic_gcc.h 在下面添加: inline Atomic64 Release_CompareAndSwap(volatile Atomic64* ptr, Atomic64 old_value, Atomic64 new_value) { __atomic_compare_exchange_n(ptr, &old_value, new_value, false, __ATOMIC_RELEASE, __ATOMIC_ACQUIRE); return old_value; } 来源: CSDN 作者: 天地传奇3 链接: https://blog.csdn.net/weixin_43800762/article/details/85090286

Django-rest Framework(三)

喜欢而已 提交于 2019-12-05 00:38:25
今天看了drf的五个组件的源码,可读性还是很高的,只是读组件的时候要注意的是 大部分的组件都是由dispatch分发出去的,所以看源码的时候一定要抓住dispatch这条主线,一步一步看下去 一. drf的请求模块(重点) drf的request是在wsgi的request的基础上进行再次封装 **wsgi的request作为drf的request一个属性:_request(下面附源码解释)** #源码: #在rest-framework 的views.py文件中 def dispatch(self, request, *args, **kwargs): """ `.dispatch()` is pretty much the same as Django's regular dispatch, but with extra hooks for startup, finalize, and exception handling. """ self.args = args self.kwargs = kwargs # 在下面这行代码中 django原来的request传入 self.initialize_request 这个方法 request = self.initialize_request(request, *args, **kwargs) #self.initialize

FBV与CBV CBV源码分析

南笙酒味 提交于 2019-12-05 00:33:34
FBV与CBV CBV源码分析 FBV(Function Based View) 基于函数的视图 基于函数的视图,我们一直在用没啥好讲的,就是导入模块调用函数执行业务 CBV(Class Based View) 基于类的视图 路由 from app01 import views url(r'^haha/',views.zx_view.as_view()), 视图 class zx_view(View): def get(self,request): return render(request,'edit.html') def post(self,request): return HttpResponse("你好我是POST") CBV源码分析 首先我们的路由竟然是一个函数(),这样的话是直接执行的,我们找到返回值就行 url(r'^haha/',views.zx_view.as_view()), 进入源码 @classonlymethod def as_view(cls, **initkwargs): """ Main entry point for a request-response process. """ #views.zx_view.as_view(),我们调用的时候并没有传递关键字参数,所以这个for可以跳过 for key in initkwargs: if key

ForkJoinPool源码解析

*爱你&永不变心* 提交于 2019-12-05 00:30:58
目录 ForkJoinPool介绍 什么是ForkJoinPool? 相对ThreadPoolExecutor有什么优缺点? 什么时候使用ForkJoinPool? 实例DEMO 涉及核心类或组件 ForkJoinPool ForkJoinTask ForkJoinWorkerThread WorkQueue 执行流程 源码分析 添加任务 fork任务 join任务 补充部分 详情 1. ForkJoinPool介绍 1.1 什么是ForkJoinPool? ForkJoinPool是在JDK1.7新添加的一个JUC线程池工具类,它同样继承了AbstractExcutorService,如下图所示 在未开始介绍该类之前,我们先从字面意思猜想一下该类的左右:fork:分叉;join:参加、联合、连接;pool:小池;翻译:参加分叉的小池,或者连接分叉的小池。恩,,,这个翻译坑爹呀!!!! 不不不,不是这样的,咱们可以适当的加点猜想嘛,比如说在JUC中,一定与并发有关系,那么可否这么翻译呢? “一个将任务拆分并结果合并的线程池”。 1.2 相对ThreadPoolExecutor有什么优缺点? 从上文我们已经知道ForkJoinPool是一个线程池,那么他与咱们常用的 ThreadPoolExecutor 线程池有什么区别呢? 首先看下两个线程池的结构图: 接着我们分析下:

修改ElementUI源码总结

纵饮孤独 提交于 2019-12-05 00:17:04
1、新建一个文件夹,克隆官方仓库到本地: git clone https://github.com/ElemeFE/element cd element && npm install npm run dev 依赖包安装成后在 默认会在 http://localhost:8085/ 打开本地网页,会看到element首页 进入element文件夹,packages文件夹就是我们要修改源码的目录文件夹 比如说,最新的2.12.0版本的select 远程搜索的多选功能有一个bug:当value绑定的是一个对象时,后面搜索确认时前面的选项文本就不见了, 修改源码如下: 在html修改一些视图,切换本地element首页,找到select组件,可以用审查元素查看,就会看到修改。 源码修改完成之后在命令行执行: npm run dist   命令行执行完毕,会在element文件夹里面生成lib文件夹 复制lib文件夹,进入你的开发目录找到node_modules并进入,找到element-ui文件夹替换里面的lib文件夹,源码就修改成功了 来源: https://www.cnblogs.com/paradise-of-sunshine/p/11890689.html

微信小程序开发者文档教程,从入门到精通 (附超过100个完整项目源代码、文档)

拜拜、爱过 提交于 2019-12-05 00:12:24
微信小程序开发者文档官网地址 https://mp.weixin.qq.com/debug/wxadoc/dev/index.html 微信小程序教程资料和开发工具大全,文档、代码、例子、工具 http://download.csdn.net/detail/wyx100/9640808 微信小程序实例大全下载 http://download.csdn.net/detail/wyx100/9670301 模仿豆瓣、QQ等实例 超过100个微信小程序源码 上传容量限制,分为两部分, http://download.csdn.net/detail/wyx100/9753876 超100个微信小程序源码-1 http://download.csdn.net/detail/wyx100/9753883 超100个微信小程序源码-2 微信小程序商城完整源代码 http://download.csdn.net/detail/wyx100/9677923 来源: oschina 链接: https://my.oschina.net/u/2485570/blog/1836617

火种计划系统开发APP源码现成软件

↘锁芯ラ 提交于 2019-12-04 23:55:53
  火种计划系统开发梁小姐【136威6015电2653】、火种计划源码系统开发,火种计划系统APP开发,火种计划系统模式开发,火种计划系统软件开发,火种计划app软件开发,火种计划系统源码定制开发,火种计划app平台搭建,火种计划软件项目制作开发   温馨提示:本司是软件开发公司,非平台方,玩家勿扰,谢谢!   Flame Schedule潘多拉火种计划——全球首个基于EOS公链开发的去中心化DApp,以去中心化之力,重信任!   一、项目亮点   1、无服务器、无域名、无操盘手、无客服、无管理后台、无任何人工干预   2、所有程序架构在EOS智能合约上,链上运行,无关盘跑路风险   3、无需手机号、邮箱注册、无需实名认证,只需一个去中心化EOS钱包账户,DApp浏览器自动识别钱包地址登录,不泄露任何个人信息,全程EOS出入金,不涉及任何法币,无任何政策风险   4、可以在任何支持EOS的去中心化钱包DApp浏览器直接登录(如潘多拉钱包、麦子钱包、TokenPocket等)   5、智能合约账户公开透明,人人可查询   6、完全去中心化操作,智能合约执行   二、静态收益   1、起投100-10000ATHENA   ATHENA是潘多拉钱包的平台代币,潘多拉钱包是一款去中心化的多链钱包,以多链钱包为入口打造繁盛的DApp生态

黎蓓露系统开发APP源码模式软件详情

霸气de小男生 提交于 2019-12-04 23:55:45
  黎蓓露系统开发梁小姐【136威6015电2653】、黎蓓露系统开发源码、黎蓓露APP系统开发、黎蓓露模式系统开发、黎蓓露微商系统开发,黎蓓露软件开发APP,黎蓓露系统定制开发APP,黎蓓露软件开发模式成功案例,黎蓓露APP开发软件   注:系统开发公司,非平台方客服,可开发相似系统,玩家勿扰,谢谢!   黎蓓露微商代理管理系统功能介绍:   (1)当有订单产生的时候,代理商可以在线下单,系统对自动统计每一个代理商的进货数量。同时代理商还可以在系统中设置产品的不同级别,不同的产品现实的价格也会不一样,各级代理之间的产品进货价也会不同,防止各级代理之间的利益纠纷,防止低价、乱价。   (2)商家有权在微商代理管理系统中设置产品的进货数量,如果代理商的进货数量达到一定的量,可以给予现金返利,可以以月为节点,进货数量靠前的代理可以发业绩奖金,当然也可以以季为节点,通过这种激励制度,驱动代理商买更多的货。   (3)虽然发展代理可以为自己的产品拓宽销售渠道,但是管理不当的话也会发生各种问题。商家通过系统可以整合各个级别的代理商的信息资料,包括他们对产品的进货数量,销售数量。自动记录代理商之间的上下级关系和代理的授权信息。   (4)代理商不用囤货和发货,只需要将产品才出去就可以,商家通过微商代理管理系统的订单数据信息,产生订单后会发货,系统可以解决平台快速回流资金,调换货问题