浅谈Django2.x中url与path及re_path
简单介绍下三者:
URL:是在Django1.x中的写法;如果你的django version 比较低版本的话,
可以用它,没错;
PATH与RE_PATH:则是Django2.x中的写法;和前者一样,起初功能是一样的,只是版本不一样了,写法也不同;后者增加了新的功能;可以在路径中使用正则.
一.path和url的区别:
django.urls path
django.conf.urls url
例如:path('marketwithparams/(?P<typeid>\d+/?P<childcid>\d+)/(?P<order_rule>\d+)/', views.markets, name='markets'),
其中是path的正则写法,URL不可以做到的;
1、url(省)
在settings.py文件中有一个ROOT_URLCONF设置,设置的是在访问网址时通过哪一个url文件去匹配所请求的网址
2、path(我们这样讲)
参数的使用方法path(‘blog/str:string/’) 简单了很多,就是尖括号,前边是str代表参数的类型,后面代表参数的名称
path参数类型
捕获url中的参数需要用到尖括号<> 指定尖括号中的值类型比如int:astr:link这个转换器还有许多类型比如:
int 匹配0和正整数
str 匹配任何空字符串但不包括/
slug 可理解为注释 匹配任何ascii码包括连接线和下划线
uuid 匹配一个uuid对象(该对象必须包括破折号—,所有字母必须小写)
path 匹配所有的字符串 包括/(意思就是path前边和后边的所有)
3.re_path
如果遇上路径和转换器语法都不足以定义的URL模式,那么就需要使用正则表达式,这时候就需要使用re_path(),而非path()。
就这样吧,没啥心情了,今天。:(
原文链接:https://blog.****.net/weixin_39716004/article/details/103468783