Django | 七、Django的URL配置

  一个干净优雅的URL方案是高质量Web应用程序中的一个重要细节。Django可以让你自己设计URL,无论你想要什么,没有框架限制。为了给一个应用设计URL,你需要创建一个Python 模块,通常被称为URLconf(URLconfiguration)
  这个模块是纯Python代码,是一个简单的Python模式(简单的正则表达式)到Python函数(您的视图)之间的映射。

一、Django是如何处理一个请求?

  当用户从Django的站点请求页面时,Django系统遵循以下步骤来执行的Python代码:

  1. 首先Django确定要使用的根URLconf模块,通过ROOT_URLCONF来设置,具体在settings.py配置文件中。但是如果传入HttpRequest对象具有urlconf 属性(由中间件设置),则其值将用于替换ROOT\_URLCONF设置。
    【个人理解】:比如在nginx、tomcat 中进行了 URL配置,则优先启用nginx 或 tomcat 中的配置

  2. Django加载该Python模块并查找该变量 urlpatterns。它是django.urls.path()和(或)django.urls.re_path()实例的序列(sequence)。

  3. Django按顺序运行每个URL模式,并在匹配所请求的URL的第一个URL中停止。
    【个人理解】:优先匹配原则,另:nginx中可以做不同项目的通配,并且有优先级

  4. 一旦正则表达式匹配,Django将导入并调用给定的视图,这是一个简单的Python函数(或基于类的视图)。该视图会获得如下参数:

1.一个HttpRequest实例。
2. 如果匹配的正则表达式没有返回任何命名组,那么来自正则表达式的匹配将作为位置参数提供。
3.关键字参数由正则表达式匹配的任何命名组组成,由可选kwargs参数中指定的任何参数覆盖。django.urls.path\(\)、django.urls.re_path\(\)

  1. 如果没有正则表达式匹配,或者在此过程中的任何一点出现异常,Django将调用适当的错误处理视图。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值