110-使用正则匹配的方式从url获值
2019-08-23 22:04 lzhshn 阅读(248) 评论(0) 编辑 收藏 举报正则匹配的方式就是在url里按照规则来写参数,中间用/分开,每两个/中间为一个参数;
并且,正则匹配的方式还规定了参数的类型,在views函数中,不必进行转化,直接使用即可。
1、假设url写法如下:
from django.urls import path from . import views urlpatterns = [ # 正式匹配的url path('test_regular/<int:a>/<int:b>/', views.test_regular, name='test_regular'), ]
可以看见,在url部分,已经严格规定了参数的形式和类型。为了方便书写url,views函数可以先写一个大概,比如是:
# 使用正则匹配获得值 def test_regular(request, a, b): pass
这样,在配置path时,用views即可点出对应的函数,不用我们完整敲出函数名。
2、对应的views函数
# 使用正则匹配获得值 def test_regular(request, a, b): return HttpResponse('从url获得两个值,a为%d,b为%d,它们的和是%d' % (a, b, a+b))
由于url里定义了两个参数,直接把这两个参数引进来即可,函数知道它们默认都是int型,可以对a和b进行处理;
当我们使用/1/2/这样的写法时,即默认a=1,b=2;
假设有url如下:http://127.0.0.1:8000/test_app/test_regular/1/2/
将得到返回:
从url获得两个值,a为1,b为2,它们的和是3