zoukankan      html  css  js  c++  java
  • 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语言程序设计

  • 相关阅读:
    使用jmail方式在服务器上发送邮件正文乱码
    oracle创建分区表
    oracle 在线重定义
    DDD(领域驱动设计)总结
    聚类算法
    bag-of-words 词袋模型
    ICPC昆明区域赛&#183;赛前挣扎复习题
    2021年寒假训练题目合集
    2019 ICPC 南昌 Regional 部分题解
    使用multus实现管理网和业务网分离——calico和flannel共存
  • 原文地址:https://www.cnblogs.com/jiakecong/p/14771012.html
Copyright © 2011-2022 走看看