可以使用的路由系统
- 一对一关系(静态路由)
/login/——> def login(request) - 一对多关系(动态路由)
/add-user/(\d+)/——>def add_user(request, a1)
路由使用了正则表达式,a1接收的是正则表达式匹配到的值
两种方式的对比
一对多关系的方式可以实现类似于get方式传值的功能
①一对一关系:
- path('url名/', views.视图函数)
- def 视图函数(request):
request.GET.get('参数名') - <a href='/url名/?参数名=值'> </a>
- http://127.0.0.1:8000/url名/?参数=值
②多对多关系:
- re_path('url名/(\w+)/(\w+)/', views.视图函数)
- def 视图函数(request,a1,a2):
a1,a2...为接收到的值, - <a href='/url名/参数/> </a>
- http://127.0.0.1:8000/url名/参数
- re_path('edit/(?P<a2>\w+)/(?P<a1>\w+)',视图),使用?P<名>指定该值传给了谁
路由分发
总的urls.png
app01.png
- 设置默认路由(未匹配到路由时进入的路由)
re_path('^',views.edit)