正则路由

首先在总路由的urls中,添加代码:
正则路由映射参数传递
在apps的文件下新建一个urls.py文件,输入一下代码:
正则路由映射参数传递
views.py文件下输入:
正则路由映射参数传递
re_path代表着响应,num代表的是输入的多少,会在网址上出现相应的东西,/d+是正则的表达式,为字符的长度大于1的数字,运行会出现:
正则路由映射参数传递
正则表达式:
正则路由映射参数传递
例如:
1 匹配长度为1-3位的数字: \d{1,3}
2 匹配出现0次及其0次以上的数字、字母或者下划线: \w*
3 匹配以数字、字母、下划线开头,数字结尾的字符串:^\w+.*\d+$

例子

在user.py文件下的urls里输入:re_path(’^(\w+.*\d+)$’,views.user_handler),
然后再views.py里输入:def user_handler(request,username):
return HttpResponse(‘你好:%s’%username)
启动服务,再后面输入用户名,但一定要数字结尾,否则会报错!
正则路由映射参数传递
反向解析:
正则路由映射参数传递
首先再views.py导入reverse,然后输入:
def reverse_handler(request):
print(reverse(‘user:index’)) # 返回index_hander和re_handler里面的东西,user和index分别对应总路由和user的name
print(reverse(‘user:re’,args=(‘1234’,))) #这个是返回num所以用到返回值,args
return HttpResponse(‘reverse’)
正则路由映射参数传递
正则路由映射参数传递
启动服务,输入reverse,在终端会出现:http://127.0.0.1:8000/user/reverse
正则路由映射参数传递

相关文章:

  • 2021-06-23
  • 2022-12-23
  • 2021-12-12
  • 2021-10-07
  • 2021-11-22
  • 2021-08-06
  • 2022-12-23
猜你喜欢
  • 2021-12-03
  • 2021-11-03
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案