Django 是用Python开发的一个免费开源的Web框架,可以用于快速搭建高性能,优雅的网站!采用了MVC的框架模式,即模型M,视图V和控制器C,也可以称为MVT模式,模型M,视图V,模板T。在学习Django的过程中将学到的知识进行总结分享出来,温故而知新,如果能帮助到想学Django但不知道如何开始的同学是再好不过了。
-
开始前的准备工作
搭建虚拟环境
随着我们项目的积累,有时候不同项目需要用不到不同版本的包,可能会产生冲突,这时候我们需要一个虚拟环境将每个项目需要的包进行独立,这样就能有效避免冲突。
- 虚拟化技术
- 虚拟机
- 虚拟容器
- Docker
- 虚拟环境
- python专用
-将python依赖隔离
安装MySql
Django支持很多中类型的数据库,默认配置的sqlite3,在学习过程中我们用到了Mysql
安装Python3、pip、PyCharm
Django2.0和以后的版本不再支持Python2.X,所以我们需要安装Python3.6版本的解释器。
pip是一个通用的Python包管理工具,可以对包进行查找、安装、卸载
PyCharm是一种Python IDE,墙裂推荐。
以上准备工作,小伙伴们可以自行网上查找相关教程。
-
Web请求的本质
bs模式:
客户端通过浏览器,浏览web服务器上的网页,这样的模型叫bs模型,b指客户端browser,s指服务端server。在客户端和浏览器端之间走的报文是http协议(即超文本传输协议)
cs模型:
客户端(client)发报文,服务器(server)收报文,服务器收到报文之后处理。这与bs模式没有很大区别,只不过是c与s间可以自定义数据传送报文。cs模式一般走的协议是tcp协议
-
Django请求生命周期
-
MTV模型
M 代表模型(Model): 负责业务对象和数据库的关系映射(ORM)。与数据库交互
T 代表模板(Template): 负责如何把页面(根据请求,决定给用户什么样的页面)展示给用户(HTML)。
V 代表视图(View): 负责业务逻辑,并在适当的时候调用Model和Template(把数据封装成模板的样子返还给用户)。
图解MTV模型:
URL控制器:什么路径 ( login | admin | index 等) 交给什么函数去处理。