admin源码之url设计
如何实现批量设计url?
1、创建Django项目
2、新建app01 和 app02
3、在models.py中创建模型
4、在settings.py中完成数据库配置、app配置等
5、数据库迁移
6、在urls.py中配置路径:
from django.contrib import admin
from django.urls import path, include
from django.conf.urls import url
from django.shortcuts import HttpResponse
from app01 import views def get_method():
"""增删改查操作"""
method_list = []
method_list.append(url(r'^add/', views.add))
method_list.append(url(r'^(\d+)/delete/', views.delete))
method_list.append(url(r'^(\d+)/edit/', views.edit))
method_list.append(url(r'^$', views.show))
return method_list def get_urls():
"""匹配路径"""
models = admin.site._registry # 获取所有模型表
url_list = []
for model in models:
app_label = model._meta.app_label # app名称
model_name = model._meta.model_name # 模型表名称
print("app_label:", app_label, "--", "model_name:", model_name)
url_list.append(url(r'%s/%s/' % (app_label, model_name), (get_method(), None, None)))
return url_list urlpatterns = [
# url设计
url(r'^yuan/', (get_urls(), None, None))
]
7、在views.py中编写视图函数:
def add(request):
return HttpResponse("add") def delete(request, delete_id):
return HttpResponse("delete") def edit(request, edit_id):
return HttpResponse("edit") def show(request):
return HttpResponse("show")
这样通过http://127.0.0.1:8080/yuan/app01/book/2/delete/或者http://127.0.0.1:8080/yuan/app01/book/add/等路径,便可以访问相应的视图函数
admin源码之url设计的更多相关文章
- admin源码解析以及仿照admin设计stark组件
		
---恢复内容开始--- admin源码解析 一 启动:每个APP下的apps.py文件中. 首先执行每个APP下的admin.py 文件. def autodiscover(): autodisco ...
 - admin源码解析及自定义stark组件
		
admin源码解析 单例模式 单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在.当你希望在整个系统中,某个类只能出现一个实例时,单 ...
 - django之admin源码解析
		
解析admin的源码 第一步:项目启动,加载settings文件中的 INSTALLED_APPS 里边有几个app就加载几个,按照注册顺序来执行. 第二步:其中加载的是admin.py,加载每一个a ...
 - django -admin 源码解析
		
admin源码解析 单例模式 单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在.当你希望在整个系统中,某个类只能出现一个实例时,单 ...
 - Net 通用权限管理系统源码 带数据库设计文档,部署说明文档
		
Net 通用权限管理系统源码 带数据库设计文档,部署说明文档 包括数据库设计文档部署安装文档源码数据库文件 下载地址:http://www.mallhd.com/archives/1389
 - [转]Libev源码分析 -- 整体设计
		
Libev源码分析 -- 整体设计 libev是Marc Lehmann用C写的高性能事件循环库.通过libev,可以灵活地把各种事件组织管理起来,如:时钟.io.信号等.libev在业界内也是广受好 ...
 - admin源码分析
		
django settings 源码分析 导入settingso模块,进入源码,会发现settings是一个 单例 LazySettings类实例化产生的一个对象,LazySettings实例化后就会 ...
 - Spring5源码分析(1)设计思想与结构
		
1 源码地址(带有中文注解)git@github.com:yakax/spring-framework-5.0.2.RELEASE--.git Spring 的设计初衷其实就是为了简化我们的开发 基于 ...
 - day 65 crm(2) admin源码解析,以及简单的仿造admin组件
		
前情提要: crm中的admin组件重写. 一:admin的autodiscover 作用:实现扫面该项目中的所有的admin 1:执行顺序-> 按照注册的顺序执行 二:单例模式 1:普通案例的 ...
 
随机推荐
- 导出数据库报错 EXP-00002: 写入导出文件时出错 EXP-00000: 导出终止失败
			
解决方法: 1.检查磁盘所在空间是否够用. 2.磁盘修复下 排除故障考虑的地方要全面啊.
 - 关于Swing中JFrame等顶级容器的层次还有设置背景的方式
			
资料来自:http://blog.csdn.net/qq_32006373/article/details/49659129 http://yuncode.net/code/c_5196327caac ...
 - hdu 5036 Explosion  bitset优化floyd
			
http://acm.hdu.edu.cn/showproblem.php?pid=5036 题意就是给定一副有向图,现在需要走遍这n个顶点,一开始出发的顶点是这n个之中的随便一个. 如果走了1,那么 ...
 - Hibernate配置(通过注解配置)
			
本文主要讲通过注解配置来替换Hibernate的映射文件 1.多对一配置 package com.jazz7.entity; import java.util.Date; import javax.p ...
 - tuple元组创建单元素
			
创建tuple单元素,一定要在结尾时添加一个逗号(,)解:如果不加逗号,哪怕是使用tuple()正确的创建元组,也会有歧义,它会把创建tuple元组的单元素,当成一个普通的输出语句结果列:如下,错误的 ...
 - 用C#操作word替换字符,用spire
			
这两天想写个小程序,是用C#操作word文档的.许多人都对微软本身的解决方案COM组件十分不看好,比如需要本机安装office等等,总之吐槽很多,直接放弃. 搜到一个国产的npoi库,据说操作简单功能 ...
 - 一个iOS开发者的修真之路
			
在微信上有童鞋问我iOS开发者的入门标准是神马?这个问题难到我了,而且贸然给一个答案出来的话,必定会有万千高手来喷. 凡人修仙,仙人修道,道人修真.当我们还是一个在青石板上蹲马步汗水涔涔的废柴时,或许 ...
 - Java多线程——进程和线程
			
Java多线程——进程和线程 摘要:本文主要解释在Java这门编程语言中,什么是进程,什么是线程,以及二者之间的关系. 部分内容来自以下博客: https://www.cnblogs.com/dolp ...
 - hihocoder offer收割编程练习赛12 B 一面砖墙
			
思路: 就是求哪个长度出现的次数最多. 实现: #include <iostream> #include <cstdio> #include <algorithm> ...
 - Java的知识储备及面试-几个方面
			
1.Java本身语法基础 https://github.com/Snailclimb/JavaGuide/blob/master/Java%E7%9B%B8%E5%85%B3/Java%E5%9F%B ...