django在中间件中预设了6个方法,这6个方法区别在于不一样的阶段执行,对输入或输出进行干预,方法以下:html
#1 初始化: 无需任何参数,服务器响应第一个请求的时候调用一次,用于肯定是否启用当前中间件
def __init__():
pass
#2.处理请求前:在每一个请求上调用,返回None或者HttpResponse 对象
def process_response(request):
pass
#3 处理视图前,在每一个请求上调用,返回None 或HttpResopnse对象
def process_view(request.view_func, view_args, view_kwargs):
pass
#4 处理模板响应前: 在每一个请求上调用,返回实现render 方法的响应对象
def peocess_template_response(request, response):
pass
#5 处理响应后,多有响应返回浏览器以前被调用,每一个请求上调用,返回HttpResponse对象
def process_response(request, response):
pass
#6 异常处理:当时图抛出异常时调用,在每一个请求上调用,返回一个HttpResponse对象
def process_exception(request, execption):
pass
复制代码
Django源自一个在线新闻 Web站点,于 2005 年以开源的形式被释放出来。python
Django 框架的核心组件有:c++
用于建立模型的对象关系映射为最终用户设计的完美管理界面一流的 URL 设计设计者友好的模板语言缓存系统等等程序员
它鼓励快速开发,并遵循MVC设计。web
Django遵照 BSD版权,最新发行版本是Django1.4,于2012年03月23日发布.Django的主要目的是简便、快速的开发数据库驱动的网站。它强调代码复用,多个组件能够很方便的以“插件”形式服务于整个框架,Django有许多功能强大的第三方插件,你甚至能够很方便的开发出本身的工具包。这使得Django具备很强的可扩展性。它还强调快速开发和DRY(Do Not RepeatYourself)原则。面试
Tornado是 FriendFeed使用的可扩展的非阻塞式 web 服务器及其相关工具的开源版本。这个 Web 框架看起来有些像 web.py 或者 Google 的 webapp,不过为了能有效利用非阻塞式服务器环境,这个 Web 框架还包含了一些相关的有用工具和优化。数据库
Tornado 和如今的主流 Web 服务器框架(包括大多数Python 的框架)有着明显的区别:它是非阻塞式服务器,并且速度至关快。得利于其 非阻塞的方式和对epoll的运用,Tornado 每秒能够处理数以千计的链接,这意味着对于实时 Web服务来讲,Tornado 是一个理想的 Web 框架。咱们开发这个 Web 服务器的主要目的就是为了处理 FriendFeed 的实时功能 ——在 FriendFeed 的应用里每个活动用户都会保持着一个服务器链接。(关于如何扩容 服务器,以处理数以千计的客户端的链接的问题。django
她专科学历 27岁从零开始学习c,c++,python编程语言 29岁编写百例教程 30岁掌握10种编程语言, 用自学的经历告诉你,学编程就找梦想橡皮擦编程
欢迎关注她的公众号,搜索— 非本科程序员json