Django之Xadmin
零、预备知识 单例对象
方式一:__new__方法
方式二:模块导入,只要在引入的文件中实例了这个对象,不管引道哪里,这个对象都指向同一个内存空间
1 class My_singleton(object): 2 def foo(self): 3 print("ok") 4 5 my_singleton = My_singleton()
from xxx import my_singleton my_singleton.foo()
一、Xadmin之注册与生成url
在Xadmin.apps中:
1 from django.apps import AppConfig 2 from django.utils.module_loading import autodiscover_modules 3 4 class XadminConfig(AppConfig): 5 name = 'Xadmin' 6 7 def ready(self): #调用这个类时自动执行 8 autodiscover_modules('Xadmin') #从admin.py文件中复制,读取每个app中Xadmin.py文件
在Xadmin.py中:
1 from django.conf.urls import re_path 2 from django.shortcuts import HttpResponse 3 4 5 class ModelXadmin(object): 6 def __init__(self,model,site): 7 self.model = model 8 self.site = site 9 10 def list_view(self,request): #查询界面 11 return HttpResponse("list_view") 12 def add_view(self,request): #增加界面 13 return HttpResponse("add_view") 14 def change_view(self,request,id): #修改界面 15 return HttpResponse("change_view") 16 def delete_view(self,request,id): #删除界面 17 return HttpResponse("delete_view") 18 19 @property 20 def urls(self): 21 temp = [] 22 23 temp.append(re_path(r'^$',self.list_view)) 24 temp.append(re_path(r'^add/$',self.add_view)) 25 temp.append(re_path(r'^(\d+)/delete/$',self.delete_view)) 26 temp.append(re_path(r'^(\d+)/change/$',self.change_view)) 27 28 return temp,None,None 29 30 31 class XadminSite(object): 32 def __init__(self): 33 self._registry = {} 34 35 def register(self,model,Xadmin_class=None,**options): 36 if not Xadmin_class: 37 Xadmin_class = ModelXadmin 38 self._registry[model] = Xadmin_class(model,self) #{Book:ModelXadmin(Book)} 39 40 @property 41 def urls(self): 42 43 temp = [] 44 45 for model,Xadmin_class in self._registry.items(): 46 app_name = model._meta.app_label #取相应app的名字 47 model_name = model._meta.model_name #取相应model的名字 48 49 temp.append(re_path(r'^{0}/{1}/'.format(app_name,model_name),Xadmin_class.urls))# 50 51 return temp,None,None 52 53 54 site = XadminSite() #创建单例对象
在app的Xadmin.py中:
1 from Xadmin.service import Xadmin 2 from app02 import models 3 4 Xadmin.site.register(models.Food) 5 Xadmin.site.register(models.Order)
转载于:https://www.cnblogs.com/yinwenjie/p/10373959.html
Django之Xadmin相关推荐
- django安装xadmin及问题处理
文章目录 一,安装 二,注册 xadmin: 三,配置 URL: 四,数据迁移并创建超级用户 五,收集media 六,运行项目,解决错误 1,ImportError: cannot import na ...
- django使用xadmin
django使用xadmin xadmin特点: 1.支持在多种屏幕上无缝浏览 2.内置功能丰富 3.强大的插件系统 4.可以直接在后台对表进行增删改查 安装xadmin 注意:是pip instal ...
- Django扩展xadmin后台管理
python:3.7.2 django:2.1.2 githup:https://github.com/sshwsfc/xadmin 安装xadmin django版本2.0及以上一不能使用pip i ...
- Django配置xadmin后台模板之坑(一)
环境: Python3.6 + Django2.0 + xadmin2.0 一.安装 1.首先安装就会有一个坑,很多教程的安装是直接在虚拟环境下使用 pip install xadmin 或者 pip ...
- django整合xadmin
Contents [hide] 1 运行环境 2 安装xadmin 2.1 方式1 2.2 方式2:安装修复包 3 创建Django项目 3.1 同步数据表 3.2 创建管理员 3.3 进入xadmi ...
- django集成 xadmin 踩的坑
一.下载源代码,并安装源码到django项目 源代码官网:https://github.com/sshwsfc/xadmin/tree/django2 1.安装依赖 将源代码下载到本地,并进入到源代码 ...
- Django 配置xadmin
1.安装xamin pip install https://codeload.github.com/sshwsfc/xadmin/zip/django2 2.将xadmin app 添加到setthi ...
- Django实现xadmin后台二级联动、三级联动(提供另一种实现方式)
目录 一.先看下app文件目录 二.编写models.py样例 三.确定二级数据和js内容 1.编写路由urls.py 2.views传递数据,json格式 3.定制js文件 四.在adminx.py ...
- Django-安装xadmin的方法及主要配置方法
历经千辛万苦,终于实现了django2.1中xadmin的使用 被论坛里各路神仙带跑N次 准确说是几个小时 直接colne https://github.com/Liu0330/xadmin 工作系统 ...
最新文章
- 考研成绩查询系统(jsp、mysql、java)
- jvm性能调优 - 19G1分代回收原理深度图解
- java影院购票系统开题报告,开题报告-网上电影院购票系统的设计与实现.doc
- Educational Codeforces Round 114总结
- cocos2d-lua3.7组件篇(三)-http通信demo
- 打印hello world java_java – 如何打印“hello world”?
- win2008 查询 tcp连接失败_TCP详解(转)
- pycharm-连接mysql设置
- 在C#后代码里使用IE WEB Control TreeView
- vuforia的物体识别能识别大物体吗_衢州sensopart 物体识别检测视觉-灵测信息
- 2DToolkit官方文档中文版打地鼠教程(一):初始设置
- java集群解析文件_java相关:springboot整合redis集群过程解析
- 小程序调用百度api实现图像识别
- 微信api接口调用-触发推送微信群聊列表
- 人脸检测实战终极:使用 OpenCV 和 Python 进行人脸对齐
- RGB颜色对照表以及十六进制
- Windows Server 2012 R2 安装补丁KB2999226提示此更新不适合用于计算机
- mysql中约束由数字构成_MySQL 数据类型和约束(外键是重点)
- 《用于自动越野导航的实时语义映射》论文笔记
- python中isin函数_python中Isin函数是什么