django路由分发的三种方式
方式一:
from django.urls import re_path, include urlpatterns = [ re_path(r'^web/', include('app01:urls')), ] include的返回值: return (urlconf_module, app_name, namespace)
方式二:
# include函数主要返回有三个元素的一个元组。 # app01/urls.py urlpatterns = [ re_path(r'^index/', views.index), re_path(r'^home/', views.index), ] # 主urls配置文件 from django.urls import re_path from app01 import urls urlpatterns = [ re_path(r'^web/', (urls, app_name, namespace)), # 第一个参数是urls文件对象,通过此对象可以获取urls.patterns获取分发的路由。 ] # 在源码内部,读取路由时: # 如果第一个参数有:urls.patterns属性,那么子路由就从该属性中获取 # 如果第一个参数无:urls.patterns属性,那么子路由就是第一个参数。
方式三:
urlpatterns = [ url(r'^web/', ([ url(r'^index/', views.index), url(r'^home/', views.home), ], app_name, namespace)), ]