正则路由
首先在总路由的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