当前位置: 首页 > news >正文

付费资源下载站源码关键词优化网站排名

付费资源下载站源码,关键词优化网站排名,河北响应式网站建设,上海公司网站设计Django请求的生命周期是指: 当用户在浏览器上输入URL到用户看到网页的这个时间段内,Django后台所发生的事情。 直白的来说就是当请求来的时候和请求走的阶段中,Django的执行轨迹。 一个完整的Django生命周期: 用户从客户端发出一条请求以后&#xff…

Django请求的生命周期是指:

当用户在浏览器上输入URL到用户看到网页的这个时间段内,Django后台所发生的事情。

直白的来说就是当请求来的时候和请求走的阶段中,Django的执行轨迹。

一个完整的Django生命周期:

  1. 用户从客户端发出一条请求以后,首先会基于http协议去解析数据并封装,
  2. 然后来到Nginx处理(nginx监听公网ip的某个端口,接到请求后,如果是静态资源,nginx直接获取该资源并返回给用户,如果是动态资源,nginx就将请求转发到uWSGI,使用协议一般是uwsgi),
  3. uWSGI接收到请求以后,通过将http协议转化为WSGI协议,和Django之间进行通信,
  4. 此时,该条请求就真正的来到了后端之上,首先它会经过Django的第一道工序:中间件,(而所谓中间件,简单来说就是请求来和请求走的时候Django增加的一道工序,请求来和请求走的时候都要先经过中间件的处理,因此,也可以将中间件理解为Django提供的额外功能组件),
  5. 在经过中间件以后,来到Django的第二道工序:路由层(urls.py)去筛选匹配符合符合请求命令后缀的地址,
  6. 然后根据匹配到的地址去Django的第三道工序:视图层(views.py)找到对应的视图函数/视图类里的属性,
  7. 之后去到第四道工序:模型层(models.py)通过orm操作去数据库中获取数据,拿到数据以后回到视图层(views.py)里对数据进行处理(序列化和反序列化),
  8. 将处理后的数据返给Django的第五道工序:模板层(Templates),模板层接收到数据后,对数据进行渲染,之后再次经过视图层、路由层、中间件、uWSGI服务器、Nginx代理,
  9. 最后将渲染的数据返还给客户端进行展示。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  1. 浏览器向django服务器发起请求

  2. 路由系统(url.py)

    1. 通过正则匹配url
    2. 交由视图系统(views.py),调用对应的方法处理数据
  3. 中间件

    1. 全局生效(所有方法均需要先由中间件处理)
  4. 视图系统(views.py)

    1. 是否需要根据post get请求, 区分处理方式
    2. 处理数据
    3. 返回结果
  5. templates

    1. 直接返回页面
    2. 数据处理后返回页面
  6. 层层返回给浏览器

简单的说就是:django的生命周期是:前端请求—>nginx—>uwsgi.—>中间件—>url路由---->view视图—>orm---->拿到数据返回给view---->视图将数据渲染到模版中拿到字符串---->中间件—>uwsgi---->nginx---->前端渲染。

Django 请求的生命周期主要分为如下四个阶段:

  1. WSGI 应用的初始化
  2. URL 路由匹配
  3. Django View 函数的执行
  4. 返回响应

接着,我们将逐一对这四个阶段进行详细讲解。

  1. WSGI 应用的初始化

当 WSGI 服务器启动 Django 应用程序时,将调用 Django 的自带 WSGI 应用程序处理器将应用程序加载到内存中,并在内存设定一些全局变量,如 settings,middleware 等。这些全局变量可以由 Django 应用程序和应用程序的中间件共同使用。

其中,settings 是 Django 应用程序中最重要的全局变量。它包含了除了 URL 路由跳转之外的所有应用程序配置信息,例如本地数据库 URL,模板引擎设置,调试开关等。middleware 则是一个提供额外功能的组件,可以对视图函数的请求和响应进行扩展。

以下是 WSGI 应用的初始化的代码段:

def get_wsgi_application():django.setup(set_prefix=False)return WSGIHandler()

get_wsgi_application() 函数用于实例化一个 WSGI 应用程序对象,并返回 WSGI 请求处理器对象。Django 在这里进行重要的初始化操作。

  1. URL 路由匹配

一旦 WSGI 应用程序在内存中设置好了,它将自动提供视图,即 URL 映射到相应的处理程序。在 Django 中,URLs 通过一个名为 urls.py 的文件进行定义和管理。当一个客户端请求到达 Django 时,它将映射到 urlpatterns 变量中的可调用视图函数上。

以下是一个 URL 映射器的示例:

from django.urls import path
from . import viewsurlpatterns = [path('about/', views.about),path('contact/', views.contact),
]

在这里,URL “/about/” 和 “/contact/” 路径将使用 views.about 和 views.contact 函数来处理请求。

在匹配 URL 时,Django 会按顺序依次尝试匹配每个 URL 规则,并使用第一个匹配的 URL 规则。如果没有规则匹配请求的 URL 路径,则 Django 允许你定义一个捕获所有情况的通配符 URL 规则,即使用 path() 函数的 ‘path:’ 参数。

urlpatterns = [path('about/', views.about),path('contact/', views.contact),path('<path:slug>/', views.page_not_found),
]

在这个示例中,Django 将试图匹配 “/about/” 和 “/contact/”,但无论它们能否成功匹配,最终都会跳转到 views.page_not_found 函数上。

  1. Django View 函数的执行

如果 Django 能够正确地将请求 URL 映射到一个视图函数上,则该视图函数将被执行。视图函数是 Django MVC 模型中的控制器,它处理请求并返回响应。

以下是一个视图函数的示例:

from django.shortcuts import renderdef index(request):return render(request, 'index.html')

在这个示例中,index 视图函数将会渲染 index.html 模板,并将结果用 HTTP 响应的形式返回给客户端。

Django 将请求对象作为视图函数的第一个参数传递,并在对象中提供了用于访问请求数据和其他属性的方法和属性。视图函数还可以访问请求参数和其他内置对象(如 settings 和 middleware)。

  1. 返回响应

当视图函数处理请求,并生成响应后,Django 将响应发送回客户端(通常是浏览器)。响应的内容都可以是可选的,Django 可以生成基于文本(HTML,JSON,XML 等)的响应,或者基于非文本(例如使用文件响应)的响应。

Django 提供了一组给用户访问的响应对象,并允许定制 HTTP 响应头。默认情况下,Django 使用 HttpResponse。HttpResponse 接受以下两类参数:

  • content(必选项) - 由视图函数生成的一个字符串。
  • content_type(可选项) - 此响应的内容类型,如 ‘text/html’ 或 ‘application/json’。
http://www.hengruixuexiao.com/news/21043.html

相关文章:

  • wordpress转载微信文章优化大师win10下载
  • 网站建设费包括大连百度seo
  • 基于html5设计的网站建设网站设计公司有哪些
  • 河南县网站建设公司800元做小程序网站
  • wordpress上传权限设置整站优化推广
  • ie打不开建设企业网站找营销推广团队
  • wordpress电影站模版搜狗网页搜索
  • json做网站seo软件优化工具软件
  • 做微信公众号微网站吗网站制作的流程
  • 网站开发及后期维护怎样在百度上做广告
  • 独立做网站需要学什么条件谷歌广告推广网站
  • 个人工商户做网站备案北京整站线上推广优化
  • 杭州微信网站建设怎么创建一个网址
  • 山东德州最大的网站建设教学百度关键词多少钱一个月
  • 网站开发入门新冠疫情最新情况
  • 对网站建设过程新媒体营销方式有几种
  • 美女做暖暖视频的网站青岛seo网站管理
  • 基于asp的网站设计与实现百度怎么推广自己的视频
  • 小江高端企业网站建设游戏推广接单平台
  • 长治一般做一个网站需要多少钱百度seo原理
  • 网站制作中企动力网站如何让百度收录
  • 网站建设与维护是什么内容?搜索软件
  • 手机网站建设推荐seo优化教程
  • 想开个网站卖衣服的怎么做网络推广学校
  • 网站建设公司西安网络服务商在哪咨询
  • 河东做网站的公司seo还可以做哪些推广
  • 西宁哪家网络公司做网站好seo关键词首页排名代发
  • 可以做区位分析的网站个人模板建站
  • 做网站广告艾滋病阻断药
  • 建设网站网络公司seo模拟点击工具