Django 介绍
简介
Django ,使用 python 语言写的开源 web 开发框架,并遵循 MVC 设计。劳伦斯出版集团为了开发以新闻内容为主的网站,而开发出来了这个框架。Django 今年来应用越来越广泛。
Django 的主要目的是简便、快速的开发数据库驱动的网站。它强调代码复用,多个组件可以很方便的以“插件”形式服务于整个框架,Django 有许多功能强大的第三方插件,你甚至可以很方便的开发出自己的工具包。这使得 Django 具有很强的可扩展性。还强调快速开发和 DRY(DoNotRepeatYourself)原则。
特点
重量级框架
对比 Flask 框架,Django 原生提供了众多的功能组件,让开发更简便快速
- 提供项目工程管理的自动化脚本
- 数据库 ORM 支持(对象关系映射,英语:Object Relational Mapping)
- 模板
- 表单
- Admin 管理站点
- 文件管理
- 认证权限
- session 机制
- 缓存
MVT 模式
有一种程序设计模式叫MVC,其核心思想是分工、解耦,让不同的代码块之间降低耦合,增强代码的可扩展性和可移植性,实现向后兼容。
MVC 模式说明
Flask 就是 MVC 模式
- M 全拼为 Model,注意封装对数据库层的访问,对数据库中的数据进行增、删、改、查操作。就是用来操作数据库。
- V 全拼为 View,用于封装效果,生成页面展示的 html 内容。就是用来生成前端展示的界面
- C 全拼为 Controller,用于接收请求,处理业务逻辑,与 Model 和 View 交互,返回结果。就是对请求进行控制,根据不同的需求找不同的视图。
Django 的 MVT
- M 全拼为 Model,与 MVC 中 M 功能相同,负责和数据库交互,进行数据处理
- V 全拼为 View,与 MVC 中 C 功能相同,接收请求,进行业务处理,返回应答
- T 全拼为 Template,与 MVC 中 V 功能相同,负责封装构造要返回的 html
python web 框架要点
web 应用程序处理流程
- 前端发送请求到服务器(Gunicorn、uwsgi),
- 服务器程序根据请求去找框架(Flask、Django)
- 框架做具体的业务处理,不同的请求响应对应的视图
- 服务器收到响应再返回给前端,进行展示
web 程序框架的意义
- 用于搭建 web 应用程序
- 免去不同 web 应用相同代码部分的重复编写,只需关系 web 应用核心的业务逻辑实现
web 应用程序的本质
- 接收并解析 HTTP 请求,获取具体的请求信息
- 处理本次 HTTP 请求,即完成本次请求的业务处理逻辑
- 构造并返回处理结果——HTTP 响应
web 框架学习方法
- 如何搭建工程程序
- 工程的组建
- 工程的配置
- 路由定义
- 视图函数定义
- 如何获取请求数据(操作 request 对象)
- 如何构造响应数据(构造 response 对象)
- 如何使用中间层
- 框架提供的其他功能组件的使用
- 数据库
- 模板
- admin