django中的路由分发include
django进行路由分发可用以下方式:
from django.conf.urls import url,include urlpatterns = [ url(r'^web/',include('app01.urls')), ]
通过分析源码,可以通过其它方式:
方式二
include函数主要返回三个元素的元组:urls,app_name,namespace
设置namespace必须先要设置app_name, 默认都为None
from django.conf.urls import url,include from app01 import urls urlpatterns = [ # 第一个参数是urls文件对象,可通过urls.patterns获取分发的路由 url(r'^web/', (urls, app_name, namespace)), ] # 在源码内部,读取路由时: 如果第一个参数urls有 patterns属性,那么子路由就从该属性中去取 如没有,子路由就是第一个参数urls
方式三
from django.conf.urls import url urlpatterns = [ url(r'^web/',([ url(r'^index/', views.index) url(r'^home/', views.home) ],app_name, namespace), ]
以后做路由分发可以直接这样写:
urlpatterns = [ url(r'^web/',([ url(r'^index/', views.index) url(r'^home/', views.home) ],None, None), ]
作者: Deaseyy
出处: http://www.cnblogs.com/Deaseyy/
新手一枚,请大佬们多多赐教!
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 原文链接