url的分发
一、分发
补充:通过查看源码:可以通过二级路由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的分发的更多相关文章
- Django路由系统---django重点之url映射分发
django重点之url映射分发 在全局项目的urls.py中进行子项目的映射,然后在子项目中创建一个urls.py去处理自己项目中的请求,同时也实现了代码的解耦 添加路由分发的原则[全局urls.p ...
- day56——http协议、MVC和MTV框架模式、django下载安装、url路由分发
day56 昨日复习 今日内容 HTTP协议 网页:https://www.cnblogs.com/clschao/articles/9230431.html 老师整理的重点 老师整理的重点 请求信息 ...
- HTTP协议 django下载安装 url路由分发
今日内容 HTTP协议 MVC和MTV框架模式 django下载安装 django的url路由分发 HTTP协议 http协议 请求信息格式 GET / HTTP/1.1 请求行 Host: 127. ...
- Django框架02 /Django下载安装、url路由分发
Django框架02 /Django下载安装.url路由分发 目录 Django框架02 /Django下载安装.url路由分发 1. django下载安装 2. pycharm创建项目 3. 基于D ...
- python---django中url路由分发
在urls.py文件中包含使用方法: from django.conf.urls import include, urlfrom django.contrib import admin urlpatt ...
- 设计url 通过分发的方式 Xadmin_demo
如 urlpatterns = [ url(r'^Xadmin/',([ url(r'^add/$', views.add) url(r'^delete/$', views.delete) ], No ...
- stark 组件 url 二级分发的实现
模拟 admin 组件url设计思路 项目urls 文件中: from django.contrib import admin from django.urls import path from st ...
- Django 之 URL(路由)分发机制
本质 (1):它的本质是 URL 模式以及要为该 URL 模式调用的视图函数之间的映射表. django-admin.py startproject 运行时,该脚本会自动为你建了一份 URLconf( ...
- url分发、isinstance、request.GET请求之QueryDict和urlencode、post和get请求、limit_choices_to(Model字段)
这个的路径是怎么来的,是有一个个的url路由分发过来的 这两个是相等的,若url后面加括号了,那么前面就不用这个装饰器了:反之,若装饰器使用了,那么这个url后面就不要加括号了 eg:其他的views ...
随机推荐
- jquery ajax请求步骤
$.ajax({ type: "GET", url: "/alink-hq/checkCode", data: { "mobile": ph ...
- Linux环境下安装mysql(远程连接),zookeeper,java,tomcat.
环境阿里云centos7.5 64位 + FinalShell + Navicat Permium 12 用到的压缩包(版本看后缀) 注意:安装均在/usr/local目录下,下面代码中#号不要复制上 ...
- Linux 内核引用计数的操作
一个 kobject 的其中一个关键函数是作为一个引用计数器, 给一个它被嵌入的对象. 只 要对这个对象的引用存在, 这个对象( 和支持它的代码) 必须继续存在. 来操作一个 kobject 的引用计 ...
- STlink下载和打断点Debug调试小结
一.下载 1.检查设备是否选择正确 2.检查SWDIO有没有识别到,如果没有,检查硬件连线是否正确. 3.检查Utilities选项 4.点击settings,添加FLASH. 二.Debug调试 前 ...
- seajs源码学习(一)
今天是2015年12月4日,天气较为阴冷.(习惯性记下日期和天气,总要留些回忆给以后) 学习的最佳捷径是模仿,所以如果想快速提高javascript技术,捷径就是去读大神们的优秀源码.就像我们学说话一 ...
- Math类入门学习
Math类 Math类包含用于执行基本的数字运算等基本指数.对数.平方根法.三角函数. import java.lang.*; public class TestMath { public stati ...
- javaweb项目启动时自动启动rmi服务器实例
1.我们先写一个web项目启动时需要运行的类RmiRegisterServlet.java package com.mx.Servlet; import javax.servlet.ServletCo ...
- DEVOPS技术实践_09:Jenkins多分支管道
简介 多分支的管道是在jenkins2.x中新增的功能 . 多分支管道允许你针对分布式的控制器的每个分支创建一个管道. 下图是对它的一个描述.使用jenkinsfile去创建多分支的管道,jenkin ...
- 分表分库解决方案(mycat,tidb,shardingjdbc)
公司最近有分表分库的需求,所以整理一下分表分库的解决方案以及相关问题. 1.sharding-jdbc(sharding-sphere) 优点: 1.可适用于任何基于java的ORM框架,如:JPA. ...
- 【题解】HDU4689 Derangement(有技巧的计数DP)
[题解]HDU4689 Derangement(有技巧的计数DP) 传送门 呵呵没告诉我多测组数,然后\(n\le 20,7000\mathrm{ms}\)我写了个状压上去T了 题目大意: 要你求错排 ...