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

django的URL配置

1 django如何处理一个请求

首先Django要使用根URLconf模块,通过setting.py配置文件的ROOT_URLCONF来设置。
在这里插入图片描述

加载该模块后并查找变量 urlpatterns。这是一个Python的django.conf.urls.url()实例列表。
在这里插入图片描述

Django按顺序运行每个URL模式,并在匹配所请求的URL的第一个URL中停止。如下图所示,如果请求的URL是http://127.0.0.1:8000/login,那么当执行到标记的部分URL时,就会结束URL匹配,并跳转到后续的地方执行代码
在这里插入图片描述

如果没有正则表达式匹配,或者在此过程中的任何一点出现异常,Django将调用适当的错误处理视图。

2 配置子URL路由表

在任何时候,您urlpatterns都可以“包含”其他URLconf模块。使用include关键字包含app中的子路由

from django.urls import include, path
urlpatterns = [
    # ... snip ...
    path('community/', include('django_website.aggregator.urls')),
    path('contact/', include('django_website.contact.urls')),
    # ... snip ...
]

请注意,此示例中的正则表达式没有$(字符串尾匹配字符),但包含尾部斜线。

 path('community/', include('django_website.aggregator.urls')),

如上面的代码所示,当URL是http://127.0.0.1:8000/community/...时,只要是community/…的URL都会去django_website这个app下面的aggregator子app的urls.py中的urlpatterns去匹配路由,django_website.aggregator.urls中的path是去掉之前匹配前缀的。
如请求的URL是http://127.0.0.1:8000/community/test/1,当主URL路由表的内容是 path('community/', include('django_website.aggregator.urls')),时,django_website.aggregator.urls的path内容是 path('test/1', xxxx, name="xxxxx")


http://www.kler.cn/news/330900.html

相关文章:

  • WPF之UI进阶--控件样式与样式模板及词典
  • PHP爬虫:获取商品销量详情API的利器
  • python如何显示数组
  • 有哪些优化数据库性能的方法?如何定位慢查询?数据库性能优化全攻略:从慢查询定位到高效提升
  • 21.数组指针相关知识点
  • 客运自助售票系统小程序的设计
  • 微服务实战——ElasticSearch(搜索)
  • 废物利用,三百块电脑如何升级并安装双系统便携使用
  • 校园健康信息管理:SpringBoot技术革新
  • 如何在网格中模拟腐烂扩散:如何使用广度优先搜索(BFS)解题
  • Java hashcode设计与实现
  • 数据结构-3.6.队列的链式实现
  • unixODBC编程(十)分片插入长数据
  • Unity实战案例全解析:RTS游戏的框选和阵型功能(3)生成范围检测框 +重置框选操作
  • MySQL进阶篇 - 存储引擎
  • 硬件-开关电源-结构组成及元件作用
  • visual studio2022添加新项中没有html和css
  • 深入理解人工智能:从机器学习到深度学习
  • 过渡到内存安全语言:挑战和注意事项
  • 机器学习西瓜书笔记(十三) 第十三章半监督学习+代码