stark组件前戏之django路由分发的本质include

Posted lshedward

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了stark组件前戏之django路由分发的本质include相关的知识,希望对你有一定的参考价值。

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)),
 ]

 

 

以上是关于stark组件前戏之django路由分发的本质include的主要内容,如果未能解决你的问题,请参考以下文章

CRM第二篇: stark组件

Django——stark组件

基于Django-admin实现stark组件

Scrapy源码剖析前戏之Twisted使用

stark组件配置,二层URL

项目实战:CRM客户关系管理系统开发