django主要文件介绍及django请求生命流程图
-mysite文件夹
--mysite文件夹
--setting.py 配置文件
--urls.py 路由和视图函数对应关系(路由层)
--wsgi.py wsgiref模块
--manage.py jdango入口文件
--db.sqlite3 jdango自带的sqlite3数据库(小型数据库,功能不多,有bug)
--app01 (用命令行创建出来的app)
--admin.py django的后台管理
--apps.py 注册用的
--migrations 文件夹 放的所有的数据库迁移记录
--models.py 数据库相关 模型类(orm)
--tests.py 测试文件
--views.py 视图函数(视图层) 这里有一个默认的参数request 是一个对象,也就是请求相关的所有东西
1:用户通过浏览器向django服务器发出请求
2:django通过web服务网关接口接收用户请求,web服务网关接口有两个作用
2.1:请求来的时候对数据包进行解析封装
2.2:响应走的时候将数据包进行打包处理
2.3:django自带的wsgiref模块本身能够支持的并发量很小,上线会换成uwsgi
ps:WSGI跟uwsgi和wsgiref是什么关系
WSGI是协议,uwsgi和wsgiref是实现该协议的方法
3:请求解析完成后到达中间件,中间件会对报文进行第一次的过来,django默认有7个中间件,可以自行定义
4:经过中间件后会到达路由层,也就是urls.py文件,这里会对请求的url进行解析,然后发给不通的视图层
5:视图层,也就是应用里面的views.py文件,这里是对业务逻辑进行处理的地方
6:视图层会去调用模型层获取相应的数据,模型层主要是操作数据库
7:然后对模板层的网页文件进行渲染。最后将依次返回到wsgi接口层将渲染的页面返回给用户
django主要文件介绍及django请求生命流程图的更多相关文章
- Django(47)drf请求生命周期分析
前言 一般我们写完序列化以后,我们就会开始写视图了,drf中我们一般使用CBV的方式,也就是类视图的方式,最基础的我们会使用from rest_framework.views import API ...
- DRF 请求生命周期以及各模块解析
目录 rest_framework框架的封装特点 原生Django与DRF比较 APIView 的请求生命周期 请求模块(request) 解析模块(parser_classes) 异常模块(exce ...
- Django简介,请求生命周期,静态文件配置
Web框架 Web框架(Web framework)是一种开发框架,用来支持动态网站.网络应用和网络服务的开发.这大多数的web框架提供了一套开发和部署网站的方式,也为web行为提供了一套通用的方 ...
- [Django框架 - 静态文件配置、request对象方法初识、 pycharm链接数据库、ORM实操增删改查、django请求生命周期]
[Django框架 - 静态文件配置.request对象方法初识. pycharm链接数据库.ORM实操增删改查.django请求生命周期] 我们将html文件默认都放在templates文件夹下 将 ...
- django请求生命周期,FBV和CBV,ORM拾遗,Git
一.django 请求生命周期 流程图: 1. 当用户在浏览器中输入url时,浏览器会生成请求头和请求体发给服务端请求头和请求体中会包含浏览器的动作(action),这个动作通常为get或者post, ...
- python 全栈开发,Day84(django请求生命周期,FBV和CBV,ORM拾遗,Git)
一.django 请求生命周期 流程图: 1. 当用户在浏览器中输入url时,浏览器会生成请求头和请求体发给服务端请求头和请求体中会包含浏览器的动作(action),这个动作通常为get或者post, ...
- 源码剖析Django REST framework的请求生命周期
学习Django的时候知道,在Django请求的生命周期中,请求经过WSGI和中间件到达路由,不管是FBV还是CBV都会先执行View视图函数中的dispatch方法 REST framework是基 ...
- $Django orm增删改字段、建表 ,单表增删改查,Django请求生命周期
1 orm介绍 ORM是什么 ORM 是 python编程语言后端web框架 Django的核心思想,“Object Relational Mapping”,即对象-关系映射,简称ORM. 一 ...
- 由django请求生命周期延伸出的知识点大总结
django项目搭建见: https://www.cnblogs.com/dongxixi/p/10981577.html django请求生命周期图: 由浏览器发起请求开始 知识点1: 浏览器与服务 ...
随机推荐
- Jquery--1--选择器分类
基本选择器 $("#id") //ID选择器 $("div") //标签选择器 $(".classname ...
- Java使用DOM方式读写XML
一.DOM读取 import ***; public class ReadXML { public static void main(String[] args) { try { //DOM Docu ...
- Docker consul的容器服务更新与发现
Docker consul的容器服务更新与发现 目录 Docker consul的容器服务更新与发现 一.Consul简介 1. 服务注册与发现 2. consul概述 3. consul的两种模式 ...
- 交换机基本原理与VRP基础及操作
交换机基本原理与VRP基础及操作 目录 交换机基本原理与VRP基础及操作 一.数据链路层 1.数据链路层的位置 2.数据链路层的功能 二.以太网(Ethernet) 1.以太网的概念 2.MAC地址( ...
- axios请求配置
全局配置示例(在js文件配置): axios.defaults.baseURL = 'https://api.example.com'; axios.defaults.headers.common[' ...
- sublime中运行python时编码格式问题
方案一在程序文件中以下三句 import sys reload(sys) sys.setdefaultencoding('utf8') 方案二在方案一不行的情况下,去除python的问题,subl ...
- Vue 子组件更新父组件的值
今天在使用Vue中遇到了一个新的需求:子组件需要修改由父组件传递过来的值,由于子组件的值是由父组件传递过来的,不能直接修改属性的值, 我们想改变传递过来的值只能通过自定义事件的形式修改父组件的值达到修 ...
- MXNet学习-第一个例子:训练MNIST数据集
一个门外汉写的MXNET跑MNIST的例子,三层全连接层最后验证率是97%左右,毕竟是第一个例子,主要就是用来理解MXNet怎么使用. #导入需要的模块 import numpy as np #num ...
- rust连接oracle数据库遇到DPI-1047: Cannot locate a 64-bit Oracle Client library的解决方案
这两天要实现一个用rust连接远程的oracle数据库的需求,所以就需要用rust连接oracle. 在github上面找到一个库,地址:https://github.com/kubo/rust-or ...
- CentOS7 部署黑客帝国代码雨
1024程序猿的节日,搞一个黑客帝国画面玩玩 [root@localhost ~]# yum -y install ncurses-devel [root@localhost ~]# yum -y i ...