5.Django5入门教程-path函数详解

path函数的定义为:path(route,view,name=None,kwargs=None)

以下对这几个参数进行讲解。

  1. route参数:url的匹配规则。这个参数中可以指定url中需要传递的参数,比如在访问文章详情页的时候,可以传递一个id。传递参数是通过<>尖括号来进行指定的。并且在传递参数的时候,可以指定这个参数的数据类型,比如文章的id都是int类型,那么可以这样写<int:id>,以后匹配的时候,就只会匹配到idint类型的url,而不会匹配其他的url,并且在视图函数中获取这个参数的时候,就已经被转换成一个int类型了。其中还有几种常用的类型:

    • str:非空的字符串类型。默认的转换器。但是不能包含斜杠。
    • int:匹配任意的零或者正数的整形。到视图函数中就是一个int类型。
    • slug:由英文中的横杠-,或者下划线_连接英文字符或者数字而成的字符串。
    • uuid:匹配uuid字符串。
    • path:匹配非空的英文字符串,可以包含斜杠。
  2. view参数:可以为一个视图函数或者是类视图.as_view()或者是django.urls.include()函数的返回值。

  3. name参数:这个参数是给这个url取个名字的,这在项目比较大,url比较多的时候用处很大。

事例slug:

path('book/slug/<slug:book_id>',views.book_detail_path)

http://127.0.0.1:8000/book/slug/1-2_3

 访问可以解析横杆和下划线,其他的符号不能解析

事例path:

path('book/path/<path:book_id>',views.book_detail_path),

http://127.0.0.1:8000/book/path/11/22

 相当于把book/path后面的path全部解析为了book_id不管后面还有不有/

事例name:

给这个url取个名字

    path('book/slug/<slug:book_id>',views.book_detail_path,name="book_slug"),
    path('book/path/<path:book_id>',views.book_detail_path,name="book_path"),

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值