stark组件前戏(3)之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)),
 ]

原文地址:https://www.cnblogs.com/lshedward/p/10559396.html

时间: 2024-10-08 02:34:13

stark组件前戏(3)之django路由分发的本质include的相关文章

Django 路由分发

Django 路由分发 当一个url请求过来之后1.先到项目主目录下的urls内.2.由这个url做处理分发给其他app内的urls. 一级路由:主目录urls内引入include from django.conf.urls import url,include urlpatterns = [ # 指定分发的app目录名称 url(r'^cmdb/',include("app01.urls")), url(r'^monitor/',include("app02.urls&qu

路由分发的本质

from django.conf.urls import url from django.contrib import admin from django.shortcuts import HttpResponse # 路由分发的本质 def test1(request): return HttpResponse('text1') def test2(request): return HttpResponse('text2') def test3(request): return HttpRes

CRM【第二篇】: stark组件

介绍: stark组件,是一个帮助开发者快速实现数据库表的增删改查+的组件.目标: 10s 中完成一张表的增删改查. 前戏: django项目启动时,自定义执行某个py文件. django启动时,且在读取项目中 路由加载 之前执行某个py文件. 在任意app的apps.py中的Config类中定义ready方法,并调用autodiscover_modules from django.apps import AppConfig from django.utils.module_loading im

Django——stark组件

stark组件是仿照django的admin模块开发的一套组件,它的作用是在网页上对注册的数据表进行增删改查操作. 一.配置 1.创建stark应用,在settings.py中注册stark应用 stark APP专门用于存放自定义组件的核心代码. manage.py@stark_demo > startapp stark 在settings.py文件注册stark: INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth'

stark 组件 url 二级分发的实现

模拟 admin 组件url设计思路 项目urls 文件中: from django.contrib import admin from django.urls import path from stark.service.sites import site urlpatterns = [ path('admin/', admin.site.urls), path('stark/', site.urls), ] 1.路径设计格式:列表中放路径 1.第一级路径  :path ("stark/&qu

django之路由分发

路由分发决定哪一个路由由哪一个视图函数来处理. 注意:django2.0里的re_path和django1.0里的url除了名字不一样,其他都一样. 简单配置 from django.urls import path,re_path from app01 import views urlpatterns = [ path('admin/', admin.site.urls), path('timer/',views.timer), # 路由配置: 决定哪一个路由由哪一个视图函数来处理 # rep

django之路由分组,路由分发,FBV,CBV,ORM框架

django之路由分组,路由分发,FBV,CBV,ORM框架 今日的内容: a. 路由系统 1. 创建app 2. 路由的分组 3. 路由的分发 - 正则表达式匹配 b. django的orm(模型model) 1. 创建模型的步骤 2. orm基本的增删改查 3. 正向查询和反向查询 注意事项: 1. 前台传给后台一个列表时,后端如何接受: request.POST.getlist(字段名) 2. 前台传给后台一个列表时,需要在ajax请求中增加一个参数: traditional: true

四十七、django路由匹配,分组,反向解析,路由分发,视图层

路由匹配: urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^text', views.text), url(r'^testadd', views.testadd), ] 第一个参数是一个正则表达式,也就意味着在路由的匹配的时候,是按照正则匹配的规则去匹配, 路由匹配的顺序是从上往下依次匹配,所有如上两个路由test前面一样,第三个路由一直会匹配不上 正确写法: urlpatterns = [ url(r'^admin/', adm

Django【三】安装/分组命名/路由分发

一.安装Django 命令行窗口: pycharm安装: 二.创建Django项目 命令行窗口创建项目: 访问地址: 表示访问成功 注意如果我们在命令行窗口创建的应用需要我们手动的在django的settings配置文件中注册你添加的应用: INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'djan