Django框架之路由urls

本文详细介绍了Django框架中的路由配置,包括定义、匹配原则、path函数的使用方法及子应用的urls配置。通过实例展示了如何利用path函数进行路由映射,并解释了不同类型转化器的应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、定义

指url与后端视图之间的一一映射关系

二、匹配原则

需要在全局路由文件(urls.py),urlpatterns列表中添加路由条目

  • urlpatterns列表条目总数就是路由总数
  • urlpatterns列表从上到下进行匹配(路由寻址)
  • urlpatterns列表中条目一旦匹配成功,就会终止往下匹配
  • urlpatterns列表中条目匹配不成功,就会一直往下匹配
  • 如果全部条目都匹配不成功,那么会抛出404异常(404页面)
urlpatterns = [
    path('test/', include('run_test.urls')),
    path('cookies/', include('cookie.urls')),
    path('api/', include('api_test.urls')),
    path('docs/', include_docs_urls(title='django接口文档', description='后台服务接口')),
]

三、path函数

1)用于定义路由条目
2)第一个参数为url路径参数(字符串),路径最前面不添加/,路径最后面需要添加/
3)第二个参数为视图函数或者类视图,如果添加的视图函数,无需使用()调用
4)如果第二个参数为include,那么会继续进入到子路由中匹配,子路由的匹配规则与全局路由匹配规则一致
5)第一个参数可以使用类型转化器 <类型转化器:参数名称>
默认的类型转化器:int、str、slug、uuid
参数名称,在调用视图时,会自动传递给视图函数,需要使用同名的参数接收

from django.urls import path        # 字符串路由
from django.urls import re_path     # 正则路由,会把url地址看成一个正则模式与客户端的请求url地址进行正则匹配
​
urlpatterns = [
    # 路由传参
    path('projects/<int:pk>/', views.get_projects),
    
    # re_path注册路由,正则匹配,其中(?P<pk>\w{3})意思是命名一个名字为pk的组,匹配规则符合后面的\w{3},这是正则的组合使用:(?P<name>group)
    re_path(r'^projects/(?P<pk>\w{3})/$', views.get_projects),
    path('project/put/', views.index),
    path('project/', include('projects.urls')),
]

四、子应用的urls

urlpatterns = [
    # 普通函数直接引用函数
    path('project/put/', views.index),

    # 定义类视图的路由条目
    # a.类视图.as_view()
    path('projects/<int:pk>/', views.ProjectsView.as_view()),
]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

克里斯蒂亚诺·罗纳尔达

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值