Django 框架

  Django是一个由Python写成的开放源代码的Web应用框架。采用了MVC的框架模式,即模型M,视图V和控制器C。但是在Django中,控制器接受用户输入的部分由框架自行处理,所以 Django 更关注的是模型(Model)、模板(Template)和视图(Views),称为 MTV模式。它们各自的职责如下:

  1. 模型(Model),即数据存取层,处理与数据相关的所有事务:存取、验证有效性、以及数据之间的关系。
  2. 模板(Template),即表现层,处理与表现相关的决定: 如何在页面或其他类型文档中进行显示。
  3. 视图(View),即业务逻辑层,存取模型及调取恰当模板的相关逻辑。模型与模板的桥梁。

  可以看出Django视图不处理用户输入,而仅仅决定要展现哪些数据给用户,而Django模板仅仅决定如何展现Django视图指定的数据。或者说,Django将MVC中的视图进一步分解为Django视图和Django模板两个部分,分别决定 “展现哪些数据” 和 “如何展现”,使得Django的模板可以根据需要随时替换,而不仅仅限制于内置的模板

 

框架核心组件 

  • 对象关系映射 (ORM)
  • 模版系统
  • URL分发
  • 缓存系统
  • 自动化的管理界面

工作机制

  1. 用manage.py runserver启动Django服务器时就载入了在同一目录下的settings.py。该文件包含了项目中的配置信息,其中最重要的配置就是ROOT_URLCONF,它告诉Django哪个Python模块应该用作本站的URLConf,默认的是urls.py。
  2. 当访问url的时候,Django会根据ROOT_URLCONF的设置来装载URLConf。
  3. 然后按顺序逐个匹配URLConf里的URLpatterns。如果找到则会调用相关联的视图函数,并把HttpRequest对象作为第一个参数(通常是request)。
  4. 最后该view函数负责返回一个HttpResponse对象。

 处理请求

大致几个步骤:
1. 用户通过浏览器请求一个页面
2. 请求到达Request Middlewares,中间件对request做一些预处理或者直接response请求
3. URLConf通过urls.py文件和请求的URL找到相应的View
4. View Middlewares被访问,它同样可以对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 Middlewares都可以丰富response或者返回一个完全不同的response
e.Response返回到浏览器,呈现给用户

 

转载于:https://www.cnblogs.com/yutb/p/10157070.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值