-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请求生命流程图的更多相关文章

  1. Django(47)drf请求生命周期分析

    前言   一般我们写完序列化以后,我们就会开始写视图了,drf中我们一般使用CBV的方式,也就是类视图的方式,最基础的我们会使用from rest_framework.views import API ...

  2. DRF 请求生命周期以及各模块解析

    目录 rest_framework框架的封装特点 原生Django与DRF比较 APIView 的请求生命周期 请求模块(request) 解析模块(parser_classes) 异常模块(exce ...

  3. Django简介,请求生命周期,静态文件配置

    Web框架 ​ Web框架(Web framework)是一种开发框架,用来支持动态网站.网络应用和网络服务的开发.这大多数的web框架提供了一套开发和部署网站的方式,也为web行为提供了一套通用的方 ...

  4. [Django框架 - 静态文件配置、request对象方法初识、 pycharm链接数据库、ORM实操增删改查、django请求生命周期]

    [Django框架 - 静态文件配置.request对象方法初识. pycharm链接数据库.ORM实操增删改查.django请求生命周期] 我们将html文件默认都放在templates文件夹下 将 ...

  5. django请求生命周期,FBV和CBV,ORM拾遗,Git

    一.django 请求生命周期 流程图: 1. 当用户在浏览器中输入url时,浏览器会生成请求头和请求体发给服务端请求头和请求体中会包含浏览器的动作(action),这个动作通常为get或者post, ...

  6. python 全栈开发,Day84(django请求生命周期,FBV和CBV,ORM拾遗,Git)

    一.django 请求生命周期 流程图: 1. 当用户在浏览器中输入url时,浏览器会生成请求头和请求体发给服务端请求头和请求体中会包含浏览器的动作(action),这个动作通常为get或者post, ...

  7. 源码剖析Django REST framework的请求生命周期

    学习Django的时候知道,在Django请求的生命周期中,请求经过WSGI和中间件到达路由,不管是FBV还是CBV都会先执行View视图函数中的dispatch方法 REST framework是基 ...

  8. $Django orm增删改字段、建表 ,单表增删改查,Django请求生命周期

    1 orm介绍  ORM是什么   ORM 是 python编程语言后端web框架 Django的核心思想,“Object Relational Mapping”,即对象-关系映射,简称ORM.  一 ...

  9. 由django请求生命周期延伸出的知识点大总结

    django项目搭建见: https://www.cnblogs.com/dongxixi/p/10981577.html django请求生命周期图: 由浏览器发起请求开始 知识点1: 浏览器与服务 ...

随机推荐

  1. 7.3php编译安装最终版

    进过无数次折腾后发现编译php安装的有些难, 问题可能是自己对linux不太了解吧. [root@third src]# cd php-7.3.6 [root@third php-7.3.6]# ./ ...

  2. sublime中运行python时编码格式问题

      方案一在程序文件中以下三句 import sys reload(sys) sys.setdefaultencoding('utf8') 方案二在方案一不行的情况下,去除python的问题,subl ...

  3. MybatisPlus二级缓存

    一.序言 本文承接[Mybatis缓存体系探究],提供基于MybatisPlus技术可用于生产环境下的二级缓存解决方案. 1.前置条件 掌握MyBatis二级缓存的原理 有关MyBatis缓存原理内容 ...

  4. Java 给Word每一页设置不同文字水印效果

    Word中设置水印时,可预设的文字或自定义文字设置为水印效果,但通常添加水印效果时,会对所有页面都设置成统一效果,如果需要对每一页或者某个页面设置不同的水印效果,则可以参考本文中的方法.下面,将以Ja ...

  5. opencv笔记---contours

    一 Contour Finding Contours使用 STL-style vector<> 表示,如 vector<cv::Point>, vector<cv::Po ...

  6. C# 字符串计算MD5

    public static string ComputeMD5 (string text) // 计算字符串的 MD5 { System.Security.Cryptography.MD5Crypto ...

  7. suse 12 安装git客户端

    suse-linux:~ # zypper addrepo http://download.opensuse.org/repositories/devel:/tools:/scm/SLE_12_SP5 ...

  8. 使用.rmp文件在redhat7.9安装oracle19c

    19c开始,oracle提供了rmp安装包.感觉安装更方便一些了.记录一次测试环境安装. 1,创建交换空间 2,下载oracle 19c必要文件(oracle官网下载需要注册帐号,可以用迅雷下载后再上 ...

  9. Python中读写文件三部曲

    写入文件:要把第二个参数 'r' 改成 'w' ,表示write,即以写入的模式打开文件;  往文件中写入内容,使用write()函数. 例子如下:注意 'w' 写入模式会暴力清空掉原有文件,然后再写 ...

  10. monowall

    https://www.cat-home.org/?action=show&id=158