https://docs.djangoproject.com/zh-hans/3.2/ref/urls/
https://docs.djangoproject.com/zh-hans/3.2/topics/http/urls/#how-django-processes-a-request
django.urls.path
path(route, view, kwards=None, name=None)
route参数,字符串类型,用来包含一个url模式;在参数中可以使用尖括号,来捕获URL中的一部分,作为关键字发送给视图。
path('bio/<username>/', views.bio_user, name='bio')
尖括号还可以用来限制变量的数据类型,默认是字符串类型。
path('bio/<username>/<int:age>/', view.bio_user_age, name='bio')
当请求url是/bio/zhangsan/的时候,Django会匹配第一个,然后调用函数views.bio_user(request, username=zhangsan)
当请求url时/bio/zhangsan/18/的时候,Django会匹配第二个,然后调用函数views.bio_user_age(request, username=zhangsan, age=18)
view参数,是一个视图函数或者as_view的结果,也可以是一个django.urls.include
kwargs参数,允许你向视图函数或方法传递附加参数。
name参数
django.urls.re_path
re_path(route_regex, view, kwards=None, name=None)
route参数,可以使用正则表达式来匹配url
django.urls.include
include(module, namespace=None)
django.urls.url
url(route_regex, view, kwards=None, name=None)
django.urls.re_path的别名,3.1版本后已经移除