Django路由系统
Django的路由系统让Django可以根据URI进行匹配,进而发送至特定的函数去处理用户请求。有点类似nginx的location功能。
Django的路由关系分为三种:普通关系、动态关系、分组分发。这三种关系都记录在urls.py中。
路由-普通关系
普通关系表示一个url对应一个函数,例如:
urlpatterns = [ url(r‘^admin/‘, admin.site.urls), url(r‘^login/‘, views.login), url(r‘^detail/‘, views.detail), ]
路由-动态关系
动态关系表示通过正则的方式去实现动态匹配。例如:
urlpatterns = [ url(r‘^detail/(\d+)/‘, views.detail), # 动态路由之:单参数的路由 url(r‘^detail2/(\d+)/‘, views.detail2), # 动态路由之:多参数的路由 url(r‘^detail3/(?P<p1>\d+)/(?P<x2>\d+)/‘, views.detail3), # 动态路由之:命名参数,两个参数分别被命名为p1和x2 url(r‘^index/(\d+)/‘, views.index), # 分页显示 ]
动态路由其实通过映射也可以实现
路由-分组分发
时间: 2024-10-05 19:28:47