位置参数和关键字参数小记

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<p2>\d+)/(?P<p1>\d+)/(?P<p3>\d+)/$', 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))

输出:http://127.0.0.1:8000/booktest/1/2/3/

year:2-month:1-day:3

posted @ 2019-02-26 09:27  Miss-Gao  阅读(479)  评论(0编辑  收藏  举报