django 路由配置,请简述Django的URL路由流程

  django 路由配置,请简述Django的URL路由流程

  

  什么是路由

  给定的URL在定义、转换、传递参数、命名之后,寻找对应处理函数的过程就是将URL与处理函数关联起来的过程。

  Django的路由配置

  在settings.py文件中,ROOT_URLCONF变量指定全局路由文件名。也就是项目的入口路由文件。

  ROOT_URLCONF= project name.urls

  在urls.py文件中,urlpatterns变量用于表示路由。该变量为列表类型,其元素由path()或re_path()组成。

  Path()处理字符串路由。Re_path()处理正则表达式路由。

  Django的路由流程

  1.在全局路由文件中找到urlpatterns变量。

  2.按照顺序,逐个匹配urlpatterns中的元素。

  3.找到第一个匹配的元素后,将停止搜索,并根据匹配结果执行处理功能。

  4.如果没有找到匹配,或者发生异常。Django会处理这个错误。

  注意:Django路由不考虑HTTP请求模式,只根据URL路由。只要URL相同,POST和GET都会指向同一个处理函数。但是在处理函数之前,可以使用decorators进行基本的判断。

  from django . views . decorators . httpimportrequire _ http _ methods

  @require_http_methods([GET , POST])

  定义索引(请求):

  通过相关推荐:《Python视频教程》

  路由函数path()

  函数path()有四个参数;两个必需的参数:route和view;两个可选参数:kwargs和name。

  Route:URL匹配模式,Django响应请求时,会从urlpatterns的第一项开始根据Route匹配元素。

  视图:处理函数的名称。当Django找到匹配的模式时,它将调用这个处理函数并传入一个HttpRequest对象。

  Kwargs:任何关键字参数都可以作为字典传递给目标处理函数。

  名称:命名URL模式。

  route的三种格式

  1.精确的字符串格式,类似于:articles/2003/

  一个精确的URL匹配一个处理函数,它适合于响应静态URL。

  2.Django的转换格式类似于:articles/int3360year/

  URL模板在匹配URL时,获取其中的一批变量,并将它们作为参数传递给处理函数。

  3.正则表达式格式。类似于:articles/?Pyear[0-9]{4}/

  利用正则表达式丰富的语法,可以表示一种URL(不是一种),可以提取变量作为处理函数的参数。

  view的两种类型

  1.处理功能。

  2.include()函数。包含其它路由信息,分段的路径组合在一起形成一条总路径。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: