zoukankan      html  css  js  c++  java
  • Django执行流程

    一. django流程介绍

      mvc是众所周知的模式, 即 将应用程序分解成三个部分: model(模型), view(视图), controller(控制器),其中:

      M -- 管理应用程序的状态(通常存储到数据库中), 并约束改变状态的行为(或者叫业务规则)

      C -- 接受外部用户的操作, 根据操作访问模型获取数据, 并调用"视图"显示这些数据,, 控制器是将"模型"和"视图"隔离, 并成为两者之间的联系纽带

      V -- 负责把数据格式化之后呈现给用户

      Django也是一个MVC框架, 只是在Django中, 控制器接受用户输入的部分由框架自行处理, 所以Django更关注的是模型, 模板和视图. 称为MTV模式.

      M --负责业务对象和数据库的关系映射(ORM)

         T -- 负责如何把页面展示给用户(html)

       v -- 负责业务逻辑, 并在适当时候调用Model和Template

      除了上述三层以外, 还需要一个URL分发器, 他的作用是将一个个URL的页面请求分发给不同的View处理,View再调用相应的Model和Template

    执行步骤::

      1. 用户通过浏览器请求一个页面

      2. 请求到达Request Middlewares, 中间件对request做一些预处理或者直接response请求

      3. URLConf通过urls.py文件和请求的URL找到对应的View

      4. View Middleware被访问, 它同样可以对request做一些预处理或者直接返回response

      5. 调用View中的函数

      6. View中的方法可以选择的通过Models访问底层的数据

      7. 所有的Model-to-DB的交互都是通过manager完成的

      8. 如果需要, Views可以使用一个特殊的Context

      9, Context被传给Template用来生成页面

      a. Template使用Filters和Tags去渲染输出

      b. 输出被返回到View

      c. HTTPResponse被发送到Response Middlewares

      d. 任何Response Middleware偶可以丰富response或者返回一个完全不同的response

      e. Response返回到浏览器, 呈现给用户

  • 相关阅读:
    springboot CRUD+分页(基于JPA规范)
    springboot中yml配置文件
    springboot中配置切换
    springboot中修改端口和上下文路径
    springboot中全局异常处理器
    springboot热部署
    新的表格展示利器 Bootstrap Table Ⅰ
    关于html转换为pdf案例的一些测试与思考
    java设计模式 策略模式Strategy
    java设计模式 模板方法模式Template Method
  • 原文地址:https://www.cnblogs.com/guyannanfei/p/10446496.html
Copyright © 2011-2022 走看看