一、分发

补充:通过查看源码:可以通过二级路由include进行二次分发

位置:urls.py

urlpatterns = [
path('admin/', admin.site.urls),
path('wu/', ([
path('test01/', ([
  path('add/', view.add)
]),None, None),
path('test02/', views.test02),
path('test03/', views.test03),
], None, None)),

注意:path 后面 不加视图 加tuple

格式:path('', ([], None, None))

二、分发优化

位置:urls.py

def list_view(request):
print(request.path)
return HttpResponse("list_view") def add_view(request):
print(request.path)
return HttpResponse("add_view") def change_view(request, id):
print(request.path)
return HttpResponse("change_view") def delete_view(request, id):
print(request.path)
return HttpResponse("delete_view") # 产生增、删、该、查的url
def get_urls2():
t = []
t.append(path('', list_view))
t.append(path('add/', add_view))
t.append(path('<id>/change/', change_view))
t.append(path('<id>/delete/', delete_view))
return t # 产生表url
def get_urls():
temp = []
# 具体情况看源码
# admin.site._registry.items() 以字典的形式存放模型对象和样式对象
# models._meta.app_label 获取 模型对象的app名称
# models._meta.model_name 获取 模型对象的表名称
for models, admin_class_obj in admin.site._registry.items():
app_name = models._meta.app_label
models_name = models._meta.model_name
temp.append(path('%s/%s/' % (app_name, models_name), (get_urls2(), None, None))),
return temp urlpatterns = [
path('admin/', admin.site.urls),
# get_urls [ ]
path('wu/', (get_urls(), None, None)),
]

url的分发的更多相关文章

  1. Django路由系统---django重点之url映射分发

    django重点之url映射分发 在全局项目的urls.py中进行子项目的映射,然后在子项目中创建一个urls.py去处理自己项目中的请求,同时也实现了代码的解耦 添加路由分发的原则[全局urls.p ...

  2. day56——http协议、MVC和MTV框架模式、django下载安装、url路由分发

    day56 昨日复习 今日内容 HTTP协议 网页:https://www.cnblogs.com/clschao/articles/9230431.html 老师整理的重点 老师整理的重点 请求信息 ...

  3. HTTP协议 django下载安装 url路由分发

    今日内容 HTTP协议 MVC和MTV框架模式 django下载安装 django的url路由分发 HTTP协议 http协议 请求信息格式 GET / HTTP/1.1 请求行 Host: 127. ...

  4. Django框架02 /Django下载安装、url路由分发

    Django框架02 /Django下载安装.url路由分发 目录 Django框架02 /Django下载安装.url路由分发 1. django下载安装 2. pycharm创建项目 3. 基于D ...

  5. python---django中url路由分发

    在urls.py文件中包含使用方法: from django.conf.urls import include, urlfrom django.contrib import admin urlpatt ...

  6. 设计url 通过分发的方式 Xadmin_demo

    如 urlpatterns = [ url(r'^Xadmin/',([ url(r'^add/$', views.add) url(r'^delete/$', views.delete) ], No ...

  7. stark 组件 url 二级分发的实现

    模拟 admin 组件url设计思路 项目urls 文件中: from django.contrib import admin from django.urls import path from st ...

  8. Django 之 URL(路由)分发机制

    本质 (1):它的本质是 URL 模式以及要为该 URL 模式调用的视图函数之间的映射表. django-admin.py startproject 运行时,该脚本会自动为你建了一份 URLconf( ...

  9. url分发、isinstance、request.GET请求之QueryDict和urlencode、post和get请求、limit_choices_to(Model字段)

    这个的路径是怎么来的,是有一个个的url路由分发过来的 这两个是相等的,若url后面加括号了,那么前面就不用这个装饰器了:反之,若装饰器使用了,那么这个url后面就不要加括号了 eg:其他的views ...

随机推荐

  1. 用jsonp 解决跨域问题

    想自己用 js写一个原生的ajax请求,访问本地文件,json/txt.但是demo,写了一个后,发现 原来是跨域了. js 写的原生ajax 请求代码如下 html代码 将获取的txt 文件 展示出 ...

  2. 学习better-scroll与vue结合使用

    better-scroll,移动端滚动场景需求的插件 例: 做一个上下滚动,左右两边关联(滑动右侧左侧对应的类别显示高亮,点击左侧的类别名称右侧滑动到对应的位置) 如图: 分析:滑动右侧的时候左侧对应 ...

  3. vue-learning:15 - js - data

    data data属性是一个对象,存放最纯粹的数据,这些数据可以在模板template.计算属性computed.方法methods.监听器watch.过滤器filters.生命周期函数中使用,并且可 ...

  4. 布尔&list与条件循环语句与trutle

    布尔值与空值 布尔值: 一个布尔值只有True.False两种值 空值: 是python里一个特殊的值,用None表示.None不能理解为0.因为0是有意义的,而None是一个特殊值. list(列表 ...

  5. Android APP前后台状态切换

    getActivity().getApplication().registerActivityLifecycleCallbacks(new Application.ActivityLifecycleC ...

  6. Linux 命令整理 vim

    Vim  一.官方网站 http://www.vim.org 二.背景 所有的 Unix Like 系统都会内建 vi 文书编辑器,但是在我们编程这里开发使用最多的要数 vim命令了. 三.操作 三种 ...

  7. markdown color

    深青色 深蓝色 seagreen darkgreen indianred cornflowerblue lightskyblue coral lightcoral darkorange

  8. 【sublime】Pretty Json插件的安装与配置使用

    一.安装 Package Control  代码安装 从菜单 View - Show Console 或者 ctrl + ~ 快捷键,调出 console.将以下 Python 代码粘贴进去并 ent ...

  9. 阿里面试官让我讲讲Unicode,我讲了3秒说没了,面试官说你可真菜

    本文首发于微信公众号:程序员乔戈里 乔哥:首先说说什么是Unicode.码点吧~要想搞懂,这些概念必须清楚 什么是Unicode? 下图来自http://www.unicode.org/standar ...

  10. jquery中获取当前选中行数据的方法

    $("table tr").click(function() { var td = $(this).find("td");// 找到td元素 var lo_id ...