• Django框架架构总览

    理解Django是如何运作的
    服务器君一共花费 22.972 ms 进行了 2 次数据库查询,努力地为您提供了这个页面。
    广告很萌的

    Django架构总览

    如下图所示django的架构总览图,整体上把握以下django的组成:

    核心在于middleware(中间件),django所有的请求、返回都由中间件来完成。

    中间件,就是处理HTTP的request和response的,类似插件,比如有Request中间件、view中间件、response中间件、exception中间件等,Middleware都需要在 “project/settings.py” 中 MIDDLEWARE_CLASSES 的定义。大致的程序流程图如下所示:

    首先,Middleware都需要在 “project/settings.py” 中 MIDDLEWARE_CLASSES 的定义, 一个HTTP请求,将被这里指定的中间件从头到尾处理一遍,暂且称这些需要挨个处理的中间件为处理链,如果链中某个处理器处理后没有返回response,就把请求传递给下一个处理器;如果链中某个处理器返回了response,直接跳出处理链由response中间件处理后返回给客户端,可以称之为短路处理。

    • 一般我们在编写 view 层函数的时候,都以 return response 或者 return HttpResponse(x) 结尾。现在你知道为什么要 return 了吧?
更多 推荐条目

Welcome to NowaMagic Academy!

现代魔法 推荐于 2013-02-27 10:23   

本章最新发布
随机专题
  1. [移动开发] Android布局基本知识 3 个条目
  2. [Python程序设计] Tornado 服务器环境配置 3 个条目
  3. [数据结构] 图的定义 1 个条目
  4. [Python程序设计] Django后台管理系统 2 个条目
  5. [移动开发] Android View注入框架Butter Knife 3 个条目
  6. [移动开发] 从代码角度去认识HttpClient 2 个条目
  7. [PHP程序设计] CodeIgniter与PHP框架设计 5 个条目
  8. [计算机算法] TAOCP与算法 12 个条目
  9. [移动开发] 从代码角度去认识 Handler 4 个条目
  10. [移动开发] 从代码角度去认识 Thread 9 个条目
  11. [Python程序设计] Tornado源码解析 23 个条目
  12. [PHP程序设计] PHP数组的遍历 7 个条目
窗口 -- [博客]