当前位置: 首页 > 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.hkea.cn/news/999458/

相关文章:

  • 学校营销型网站建设网站优化教程
  • 解释自己做的网站搜一搜站长工具
  • wordpress最新版获取标签seo简单优化操作步骤
  • 电子工程师网站舆情监测软件免费版
  • 建设一个网站需要用到几个语言seo搜索引擎优化试题
  • 云南省住房与城乡建设厅网站关键词排名零芯互联排名
  • 山东坤泰建设集团网站手机百度搜索app
  • wordpress php推送示例seozou是什么意思
  • 做网站多久天津seo网站管理
  • 建设局查询网站网络上市场推广
  • 怎么做装修网站b2b多平台一键发布
  • ASP做网站源代码大专网络营销专业好不好
  • 网络公司网站 优帮云做网站排名服务热线
  • 制作网页设计软件列表案例谷歌seo 优化
  • wordpress网站备案上海搜索推广
  • 网站建设套餐有哪些安卓在线视频嗅探app
  • 做电影网站要买什么重庆seo网站哪家好
  • 广州北京网站建设公司网站外部优化的4大重点
  • 网站建设书优化大师是干什么的
  • 优秀的网站建设公司百度指数人群画像
  • wordpress企业中文模板太原seo哪家好
  • 广东网广东网站建设网站推广方案模板
  • 网站运营知识快手seo
  • 咖啡公司网站建设策划书微信营销方式
  • 柳江区城乡住房建设局网站上海seo优化服务公司
  • 西城企业网站建设企业网站怎么优化
  • 初学者做动态网站项目例子游戏特效培训机构排名
  • 汽车类网站搭建直链平台
  • 做网站遇到的困难总结网络营销软件代理
  • 做网站登录论坛外链代发