django url映射的时候指定默认参数

使用path或者re_path后,在url中都可以包含参数,而有时候想指定默认的参数,可以通过在urls.py中写两个url都指向同一个视图函数。一个带参数一个不带参数。同时,在视同函数的参数中设置默认值。
这样,当匹配到不带参数的url时,就会使用默认值。
实例代码:

urls.py

1 from django.urls import path, re_path
2 from app01 import views
3 
4 urlpatterns = [
5     path('book/',views.book,name='book'),
6     path('book/<int:num>/',views.book,name='book')
7     ]

views.py

1 from django.shortcuts import HttpResponse
2 book_list = ['青龙', '白虎', '月牙']
3 def book(request,num=0):
4     return HttpResponse(book_list[num])

 


当访问:http://127.0.0.1:8000/book/时显示:青龙;
当访问:http://127.0.0.1:8000/book/1/时显示:白虎;
当访问:http://127.0.0.1:8000/book/2/时显示:月牙;

posted @ 2019-12-23 22:44  xsan  阅读(851)  评论(0编辑  收藏  举报