在学习python开发框架pylons/pyramid的过程中,里面有个非常棒的页面性能监控功能,这样在开发过程中,你能清楚的知道当前页面的性能以及其它参数. 这里介绍一下如何给Asp.net MVC和Entity Framework也添加上性能监控,让你在开发过程中随时掌握当前程序运行的信息. 这里是在Autofac+MVC+EF篇的源码基础上,一步一步的介绍添加Profiler的过程. 如果有兴趣了解Autofac的应用,可以看这里 IoC容器Autofac(4) - Autofact +…
Django 的 CBV&FBV Django FBV, function base view  视图里使用函数处理请求 url url(r‘^users/‘, views.users), views from django.shortcuts import HttpResponse import json def users(request): user_list = ['lcg','superman'] return HttpResponse(json.dumps((user_list)))…
在上一篇文章中我们已经分析了认证组件源码,我们再来看看权限组件的源码,权限组件相对容易,因为只需要返回True 和False即可 代码 class ShoppingCarView(ViewSetMixin, APIView): permission_classes = [MyPermission, ] def list(self,request, *args, **kwargs): """ 查看购物车信息 :param args: :param kwargs: :return…
我在前面的博客里已经讲过了,我们一般编写API的时候用的方式 class CoursesView(ViewSetMixin,APIView): pass 这种方式的有点是,灵活性比较大,可以根据自己的业务逻辑来自定义各种组件逻辑. 这边文章,我将带大家对 认证组件做一个源码分析,写这边文章的原因也是因为自己虽然知道怎么写,但是不知道为什么要这么写,今天看了源码,所以想把自己的一些心得写出来和大家分享. 先看代码 class ShoppingCarView(ViewSetMixin, APIVie…
一.什么是rest REST其实是一种组织Web服务的架构,而并不是我们想象的那样是实现Web服务的一种新的技术,更没有要求一定要使用HTTP.其目标是为了创建具有良好扩展性的分布式系统. 可用一句话总结:url用来唯一定位资源, 用http请求方式来区分用户对数据的操作方式. http://www.scienjus.com/my-restful-api-best-practices/ rest下的url 1. url的设计规范 没有任何动词 不同的请求代表不同的功能 GET: 127.0.0.…
知识回顾http://www.cnblogs.com/ctztake/p/8419059.html 这一篇是基于上一篇写的,上一篇谢了认证的具体流程,看懂了上一篇这一篇才能看懂, 当用户访问是 首先执行dispatch函数,当执行当第二部时: #2.处理版本信息 处理认证信息 处理权限信息 对用户的访问频率进行限制 self.initial(request, *args, **kwargs) 进入到initial方法: def initial(self, request, *args, **kw…
一.简介 解析器顾名思义就是对请求体进行解析.为什么要有解析器?原因很简单,当后台和前端进行交互的时候数据类型不一定都是表单数据或者json,当然也有其他类型的数据格式,比如xml,所以需要解析这类数据格式就需要用到解析器(也可以将请求体拿到,然后利用其他模块进行解析). 二.基本使用 1.json解析器 同样以订单视图为例,添加json解析器,如下: from rest_framework.versioning import URLPathVersioning from rest_framew…
一.简介 在上一篇博客中已经介绍了django rest framework 对于认证的源码流程,以及实现过程,当用户经过认证之后下一步就是涉及到权限的问题.比如订单的业务只能VIP才能查看,所以这时候需要对权限进行控制.下面将介绍DRF的权限控制源码剖析. 二.基本使用 这里继续使用之前的示例,加入相应的权限,这里先介绍使用示例,然后在分析权限源码 1.在django 项目下新建立目录utils,并建立permissions.py,添加权限控制: class MyPremission(obje…
一.简介 django rest framework 给我们带来了很多组件,除了认证.权限.序列化...其中一个重要组件就是视图,一般视图是和路由配合使用,这种方式给我们提供了更灵活的使用方法,对于使用者而言不同的视图具有不同的功能,这样我们可以根据需求定制自己视图.以下是官网传送门:http://www.django-rest-framework.org/api-guide/views/ 在之前的文章中,由于参杂了权限.认证等(如果不了解请看博客的以前的文章),但在本章中基本可以不使用,所进使…
一.简介 分页对于大多数网站来说是必不可少的,那你使用restful架构时候,你可以从后台获取数据,在前端利用利用框架或自定义分页,这是一种解决方案.当然django rest framework提供了分页组件,让我们可以更灵活的进行分页. django rest framework提供了三种分页组件: PageNumberPagination:普通分页,查看第n页,每个页面显示n条数据 LimitOffsetPagination: 基于位置的分页,在第n个位置,向后查看n条数据,和数据库的sq…