Django(9)url指定默认参数

前言

当我们访问网页的时候,后台返回列表中有n条数据,此时我们会使用分页,比如一页只展示10条,但是我们访问第一页的时候大多数情况下,都会给url一个默认值,访问的时候直接展示第一页数据

案例

我们的需求:在访问127.0.0.1/books/直接展示第一页数据,在访问127.0.0.1/books/page/2/就展示第二页数据。说完需求,我们开始实现代码

  1. 我们先在项目中创建一个booksapp,然后在books中创建一个urls.py文件,在文件中写入以下代码
urlpatterns = [
    path('', views.page),
    path('page/<int:page>/', views.page)
]
  1. 然后在books.views.py视图中写入视图函数page
def page(request, page=0):
    books_list = [
        'java大全',
        'python大全',
        'c语言程序设计',
        'JavaScript大全'
    ]
    return HttpResponse(books_list[page])
  1. 最后在项目中的根urls.py文件中写入以下代码
urlpatterns = [
    path('books/', include('books.urls')),
]

从以上代码我们可以看到当我们访问127.0.0.1/books/时会匹配这条路径path('', views.page),路径会去执行视图函数page,由于我们没有在路径中传入参数那么默认值就是0,浏览器就会返回java大全


当我们输入 127.0.0.1/books/page/2/时,django会匹配 path('page/<int:page>/', views.page),然后还是去执行视图函数 page,由于这次我们传入了参数 page=2,所以这次我们就会返回 book_list[2]这本书,也就是 c语言程序设计
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值