web 工作流程
java 里面有 :tomcat是应用容器 severlet 是框架程序,处理请求返回响应的东西.
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oCt4AEnu-1605925212720)(.\图片\1605835951377.png)]
django 的 runserver 做了什么事儿(本身就是一个应用服务器):
1、启动一个服务器程序
2、只启动一个进程,装载 Django 程序
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IfSGU0nP-1605925212721)(.\图片\1605836240753.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-emSkkCi5-1605925212722)(.\图片\1605836251658.png)]
写 uwsgi 服务器:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OvsXySOV-1605925212725)(.\图片\1605871839733.png)]
Django特点:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tUykaP5C-1605925212726)(.\图片\1605836650100.png)]
数据库修改数据没有限制,但是可能会丢失外键,而Admin管理站点修改数据是校验model里面的设置修改
Flask框架:
1、只有视图和路由,没有 Django框架 这么多组件
2、只能做功能单一(简单)的网站(一个接口)
3、需要什么添加什么(用Flask框架构建一个非常大的网站,最后就会变成Django)
Django 的 MVT
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5Ckqnjml-1605925212727)(.\图片\1605838040855.png)]
如果是分离就用 json 返回,不分离就用 Template 返回
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vQdNMWtW-1605925212729)(.\图片\1605873111758.png)]
request 请求
就是为了传送数据到后端
前端客户端
向后端服务器发送HTTP请求
接收到了后端传来的数据,展示
后端服务器
分为 服务器程序 和 框架程序
服务器程序:接收HTTP请求报文,解析报文,产生request,通过wsgi协议传给框架程序
框架程序:接收HTTP请求对象request,中间层处理(拦截请求),路由处理,具体视图处理业务处理,再进行中间层处理(拦截响应),返回给服务器程序的是一个response的对象
服务器程序 :通过response对象构造一个HTTP响应报文,在传回客户端
uwsgi
是个服务器程序,应用容器 监听8000 收发http
tomcat=>severlet
应用容器:tomcat()
severlet :框架程序 (处理请求 返回响应)
Django中的runserver
1.启动一个服务器程序
2.只启动一个进程,装载django程序
wsgi.py 中的 get_wsgi_application()
返回那个函数,处理request 返回response那个函数
Django
1.是个开源web开发框架,遵循MVC设计
2.主要目的的简便,快速的开发数据库驱动的网站
3.特点:重量级框架
对比Flask框架,Django原生提供了众多的功能组件,让开发更简便快速
重量级框架:提供项目工程管理的自动化脚本工具
数据库ORM支持(对象关系映射)
模板
表单
Admin管理站点
文件管理
认证权限
session机制
缓存
连接虚拟器数据库 mysql -uroot -p -h 192.168.0.133 -P3306
虚拟机:使用软件的方式,虚拟出一套硬件
虚拟环境:初始化一套python解释器,初始化site-packages放包的地方
和原来的包不发生冲突