CRM--admin组件
admin组件使用
1、创建一个Django项目
2、在models里面创建表
class Publish(models.Model):
name = models.CharField(max_length=32)
email = models.EmailField()
addr = models.CharField(max_length=64) def __str__(self):
return self.name class Author(models.Model):
name = models.CharField(max_length=32)
age = models.IntegerField() def __str__(self):
return self.name class Book(models.Model):
title = models.CharField(max_length=32)
publishDate = models.DateField()
price = models.DecimalField(max_digits=6, decimal_places=2)
publsher = models.ForeignKey(to="Publish", on_delete=models.CASCADE)
authors = models.ManyToManyField(to="Author") def __str__(self):
return self.title
3、生成这些表
python manage.py makemigrations
python manage.py migrate
4、 创建一个超级用户
python manage.py createsuperuser
5、浏览器输入 127.0.0.1:8000/admin ,用超级用户登录,就可以进入界面
使用管理工具
1、构建基本表
在admin.py文件下操作
from django.contrib import admin
from app01 import models
from app01.models import Book, Publish, Author # 应用模块 # Register your models here. class BookConfig(admin.ModelAdmin):
list_display = ["title", "publishDate", "price", "publsher"] # 定义显示内容 class PublishConfig(admin.ModelAdmin):
list_display = ["name", "email", "addr"] class AuthoConfig(admin.ModelAdmin):
list_display = ["name", "age"] admin.site.register(Book, BookConfig) # 注册页面
admin.site.register(Publish, PublishConfig)
admin.site.register(Author, AuthoConfig)
ModelAdmin中的可定制功能
1. list_display,列表时,定制显示的列。
默认只显示一列,可以自定义显示多列
class BookConfig(admin.ModelAdmin):
list_display = ["title", "publishDate", "price", "publsher"] # 定义显示内容,不能显示多对多
2. list_display_links,列表时,定制列可以点击跳转。
list_display_links = ["name", "email", "addr"]
3、定制多对多的列
class BookConfig(admin.ModelAdmin): def show_author(self, obj):
return ' | '.join([obj.name for obj in obj.authors.all()])
# obj.authors.all() 拿到一个Authors表的QuerySet,用列表推导式拿到name字段,用join进行字符串拼接
list_display = ["title", "publishDate", "price", "publsher", "show_author"] # 定义显示内容
4、搜索框
search_fields = ["title", "price"]
5、定义action里面的函数
分三步
def func(self, request, queryset): # 1、定义一个函数,queryset接收的是勾选的对象
queryset.update(price=0) func.short_description = "重置价格为0" # 2、给这个函数命名,“价格初始化”
actions = [func] # 3、 第三部就这么写
6、 分级过滤 (类似淘宝:“裤子,休闲,100-200,深圳发货” 多重分类筛选)
list_filter = ["publsher", "price", "state"]
CRM--admin组件的更多相关文章
- day 65 crm(2) admin源码解析,以及简单的仿造admin组件
前情提要: crm中的admin组件重写. 一:admin的autodiscover 作用:实现扫面该项目中的所有的admin 1:执行顺序-> 按照注册的顺序执行 二:单例模式 1:普通案例的 ...
- day 64 crm项目(1) admin组件的初识别以及应用
前情提要: 今天进入项目学习阶段,crm 一个又老又土又实用的入门项目 一:django回顾 二:事前准备 1:首先创建django项目 2:在model中创建数据 from django.db im ...
- Django admin 组件 原理分析与扩展使用 之 sites.py (一)
一 . 前言 Django 提供了admin 组件 为项目提供基本的管理后台功能(对数据表的增删改查). 本篇文章通过 admin源码 简单分析admin 内部原理 ,扩展使用方式,为以后进行定制和自 ...
- Django-CRM项目学习(一)-admin组件
开始今日份整理 1.admin组件使用 1.1 创建django项目以及开启APP01 略 1.2 创建类 使用django自带的sqlite3的小型文件型的数据库 注:使用sqlite3类型的数据库 ...
- Django admin组件使用
ADMIN 组件 介绍 admin 组件实现了更方便的WEB后台数据管理方式 settings.py 中第一个组件就是 : INSTALLED_APPS = [ 'django.contrib.adm ...
- Django admin组件源码流程
admin 组件 Django 自带的用户后台组件 用于用户便携的操作 admin 组件核心 启动 注册 设计url 启动核心代码 每个app 通过 apps.py 扫描 admin.py 文件 并执 ...
- python框架之Django(13)-admin组件
使用 Django 提供了基于 web 的管理工具. Django 自动管理工具是 django.contrib 的一部分.你可以在项目的 settings.py 中的 INSTALLED_APPS ...
- admin组件详解
admin组件详解 先根据admin组件启动流程复习下django项目启动至请求过来发生的事 1将admin组件注册进app 2django项目启动 3在运行到定制的admin时执行其下面的apps文 ...
- 模拟admin组件自己开发stark组件之创建篇
admin组件 admin组件为我们提供了针对django管理页面 我们先简短来看下django的admin组件的启动流程,注册流程,url匹配过程 启动注册 1. 扫描所有应用下的注册了应用中的ad ...
- Django 之 admin组件使用&源码解析
admin组件使用 Django 提供了基于 web 的管理工具. Django 自动管理工具是 django.contrib 的一部分.可以在项目的 settings.py 中的 INSTALLED ...
随机推荐
- IO多路复用(Python)
1. select: 监听多个文件描述符(当文件描述符条件不满足时,select会阻塞),当某个文件描述符状态改变后,将该文件描述符添加到对应返回的列表 调用: fd_r_list, fd_w_lis ...
- TCP流量控制
TCP的流量控制,是为了更好的传输数据,控制流量不要发送太快而至于接收端没有足够的缓存的接收. 利用滑动窗口,可以很方便的控制传输 rwnd:可以控制接收窗口大小.ACK代表确认位,ack代表确认字段 ...
- 编译ijkplayer后直播无声音
打开:ijkplayer-android/config/module-lite.sh 文件: 你要把neyllow打开,默认是关闭的,如下: export COMMON_FF_CFG_FLAGS=&q ...
- nodejs版 阿里云开放api签名算法
阿里云 API 签名 github:https://github.com/liuyinglong/aliyun; npm :https://www.npmjs.com/package/aliyun-a ...
- java-设计模式-索引
设计模式的七大原则 设计模式遵循的七大原则 微信红包的设计实践 单例模式 常见的几种单例模式写法 单例模式的应用场景及优缺点 面向对象六大设计原则 JAVA设计模式之观察者模式 JAVA设计模式之策略 ...
- matlab-霍夫变换详解(判断正方形长方形)
霍夫变换 霍夫变换是1972年提出来的,最开始就是用来在图像中过检测直线,后来扩展能检测圆.曲线等. 直线的霍夫变换就是 把xy空间的直线 换成成 另一空间的点.就是直线和点的互换. 我们在初中数学中 ...
- zabbix自动发现华为,H3C交换机
一.添加自动发现规则 1.ip范围尽量别太大 zabbix是通过ARP来搜索符合条件的主机的 2.团体名和交换机要一样.这个OID值是提取系统信息的 在OID这块遇到个坑 我用Getif查询到的是1. ...
- Swift用户通知授权
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIAppli ...
- thinkPHP nginx无论怎样访问都会访问index方法解决
修改项目配置文件 application/config.php中的 pathinfo_fetch的末尾增加 REQUEST_URI 详情参考:https://www.colabug.com/35205 ...
- Spring MVC 注解之controller层
第一层注解:@Controller 和 @RestController. 这两个注解的作用是:处理页面的HTTP请求,不同点 @RestController相当于@Controller +@Respo ...