def show(a1,a2,a3): pass show(1,2,3) 位置参数 show(a1=1,a3=3,a2=2) 关键字参数
def show(*args, **kwargs): # *args元组 **kwargs字典
pass
位置参数示例
from booktest import views from django.urls import path, re_path urlpatterns = [ path('', views.index), re_path(r'^(\d+)$', views.detail), re_path(r'^(\d+)/(\d+)/(\d+)/$', views.detail), # 位置参数 ] from django.http import HttpResponse
def detail(request, p1, p2, p3): # 位置参数
return HttpResponse('year:%s-month:%s-day:%s' % (p1, p2, p3)) # 尽管输入是数字,但是传过来是字符串
输出:http://127.0.0.1:8000/booktest/1/2/3/
year:1-month:2-day:3
关键字参数示例
from booktest import views from django.urls import path, re_path urlpatterns = [ path('', views.index), re_path(r'^(\d+)$', views.detail), re_path(r'^(?P\d+)/(?P ', views.detail), # 关键字参数 ] # ?P<指定名称> from django.http import HttpResponse def detail(request, p1, p2, p3): return HttpResponse('year:%s-month:%s-day:%s' % (p1, p2, p3))\d+)/(?P \d+)/$
输出:http://127.0.0.1:8000/booktest/1/2/3/
year:2-month:1-day:3