【Django-xadmin】

时间长不用,会忘的系列

1、Django-xadmin后台字段显示处理

主要是修改每个模块下adminx.py文件

代码解释:
  第1行控制表单字段显示
  第2行控制列表字段显示
  第3行控制搜索条件
  第4行控制过滤条件
  第5行支持单个或多个字段信息修改
  第6行列表分页,每页显示多少行

2、【Django】admin.py文件 添加 action操作 (如: 重置密码, 修改密码)

from django.contrib import admin
from django.contrib.auth.hashers import make_password
from django.http import HttpResponseRedirect
from .model import *

def reset_account_password(modeladmin, request, queryset):
    # 可以多选
    queryset.update(password=make_password('123456'))  # 默认重置密码为123456


def modify_account_password(modeladmin, request, queryset):
    # 只能单选
    if queryset.count() != 1:
        modeladmin.message_user(request, "只能选择一条,请重新设置, 谢谢!")
        return
    id = queryset.first().id
    return HttpResponseRedirect('/users/changePassword/?id={}'.format(id))

@admin.register(UserInfo)
class UserInfoAdmin(admin.ModelAdmin):
    list_display = ['id', 'username', 'loginname', 'phone', 'email', 'department', 'ptitle', 'status']  # 筛选器
    list_filter = ['department', 'ptitle', 'status']  # 过滤器
    search_fields = ['id', 'username', 'loginname', 'phone', 'email', 'department', 'ptitle', 'status']  # 搜索字段
    actions = [reset_account_password, modify_account_password]  # 添加两个操作

reset_account_password.short_description = '重置密码'
reset_account_password.type = 'warning'
modify_account_password.short_description = '修改密码'


》官方文档:Django-Admin-Cookbook-CN

》详细讲解:Xadmin的使用详细讲解

包含内容:;01-下载源码;02-配置settings.py;03-配置路由;04-创建数据库;05-创建超级用户;06-拉取静态文件到本地;07-站点Model管理;08-站点的全局配置;09-app名称的修改;10-自定义导航菜单顺序;11-设置只读字段;12-在list_display显示自定义函数:;13-设置页面跳转,需自定义函数;14-如果想添加数据的同时方便添加关联model:inlines 机制 同一个页面 可以添加 所有的相关信息;15-重载显示样式;16-model的管理器,一个model 分不同情况 管理;20-表单根据用户显示不同的字段内容  get_model_form;21-模型编辑页面Field分区显示--form_layout;22-获取用户信息并填充模型字段--save_models;23-根据登录用户或组过滤数据--queryset;24-外键下拉框添加过滤;25-后台显示模型类不存在的字段;26-django自带的admin是有save_models和delete_model的,后台修改模型类后就会执行改函数,xadmin中如下;27-定制HTML模板;28-xadmin此版本貌似不能加载views.py;29-列表视图新增自定义按钮;30-自定义actions;31-给这个方法添加一个boolean的属性并赋值为True,它将显示为on/off的图标;32-屏蔽界面的添加按钮;33-xadmin列表页添加自定义工具栏toolbar;34-想对某些字段设置颜色,可用下面的设置;35-菜单分组管理;36-自定义函数作为 列 显示;37-增加页面显示的列 ‘跳转’——显示自定义的html代码;38-xadmin主页布局的修改;39-设置xadmin新用户主页的默认布局;40. 根据登录用户user过滤展示数据(list_diaplay);41. admin_order_field支持查询查找以按相关模型上的值排序。此示例在列表显示中包含“作者名字”列,并允许按名字对其进行排序:;42. 获取verbose_name;43. xadmin list_filter 外键显示含有英文,怎么把英文去掉?;45. 添加自定义的URL;46.xadmin多个model的数据渲染在统一个template中;47.admin的空值设置方法;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/927897.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Pytest --capture 参数详解:如何控制测试执行过程中的输出行为

--capture 选项用于控制测试用例执行过程中标准输出(stdout)和标准错误输出(stderr)的捕获行为。 --capture 的选项值: fd(默认) 捕获文件描述符级别的输出(stdout 和 stderr&#x…

整合SSM框架:构建Java Web应用

目录 简介 项目结构 配置文件详解 db.properties mybatis-config.xml spring-mybatis.xml springmvc.xml web.xml pom.xml 整合步骤 为什么这样整合? 简介 SSM框架整合指的是Spring、Spring MVC和MyBatis三个开源框架的整合。这种整合方式在Java Web开发…

Solidity开发智能合约

05-Solidity开发智能合约 0 Solidity和智能合约 Solidity开发可运行的智能合约步骤: 源代码通过编译成字节码(Bytecode),同时会产生二进制接口规范(ABI) 通过交易将字节码部署到以太坊网络,部署…

Java基础之控制语句:开启编程逻辑之门

一、Java控制语句概述 Java 中的控制语句主要分为选择结构、循环结构和跳转语句三大类,它们在程序中起着至关重要的作用,能够决定程序的执行流程。 选择结构用于根据不同的条件执行不同的代码路径,主要包括 if 语句和 switch 语句。if 语句有…

Vue教程|搭建vue项目|Vue-CLI2.x 模板脚手架

一、项目构建环境准备 在构建Vue项目之前,需要搭建Node环境以及Vue-CLI脚手架,由于本篇文章为上一篇文章的补充,也是为了给大家分享更为完整的搭建vue项目方式,所以环境准备部分采用Vue教程|搭建vue项目|V…

shell脚本30个案例(五)

前言: 通过一个多月的shell学习,总共写出30个案例,分批次进行发布,这次总共发布了5个案例,希望能够对大家的学习和使用有所帮助,更多案例会在下期进行发布。 案例二十一、系统内核优化 1.问题&#xff1…

分布式集群下如何做到唯一序列号

优质博文:IT-BLOG-CN 分布式架构下,生成唯一序列号是设计系统常常会遇到的一个问题。例如,数据库使用分库分表的时候,当分成若干个sharding表后,如何能够快速拿到一个唯一序列号,是经常遇到的问题。实现思…

ChatGPT/AI辅助网络安全运营之-数据解压缩

在网络安全的世界中,经常会遇到各种压缩的数据,比如zip压缩,比如bzip2压缩,gzip压缩,xz压缩,7z压缩等。网络安全运营中需要对这些不同的压缩数据进行解压缩,解读其本意,本文将探索一…

C++小问题

怎么分辨const修饰的是谁 是限定谁不能被改变的? 在C中,const关键字的用途和位置非常关键,它决定了谁不能被修改。const可以修饰变量、指针、引用等不同的对象,并且具体的作用取决于const的修饰位置。理解const的规则能够帮助我们…

Docker中配置Mysql主从备份

Mysql配置主从备份 一、Docker中实现跨服务器主从备份二、配置步骤1.配置主库2.配置从库3.遇到问题3.其它使用到的命令 一、Docker中实现跨服务器主从备份 在 Docker 中配置 MySQL 主从备份主要通过 MySQL 主从复制实现 二、配置步骤 1.配置主库 # 进入mysql主库容器 docke…

下载maven 3.6.3并校验文件做md5或SHA512校验

一、下载Apache Maven 3.6.3 Apache Maven 3.6.3 官方下载链接: 二进制压缩包(推荐): ZIP格式: https://archive.apache.org/dist/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.zipTAR.GZ格式: https://archive.apache.org/dist/…

C++趣味编程:基于树莓派Pico的模拟沙漏-倾斜开关与LED的互动实现

沙漏,作为一种古老的计时工具,利用重力让沙子通过狭小通道,形成了计时效果。在现代,我们可以通过电子元件模拟沙漏的工作原理。本项目利用树莓派Pico、倾斜开关和LED,实现了一个电子沙漏。以下是项目的详细技术解析与C++代码实现。 一、项目概述 1. 项目目标 通过倾斜开关…

pycharm链接neo4j(导入文件)

1.新建csv文件 2.写入文件 3.运行代码 import csv from py2neo import Graph, Node, Relationship# 连接到Neo4j数据库,使用Bolt协议 graph Graph("bolt://localhost:7687", auth("neo4j", "password"))# 读取CSV文件 with open(…

【C++】多线程

目录 一 概念 1 多线程 2 多进程与多线程 3 多线程理解 二 创建线程 1 thread 2 join() 和 detach() 3 this_thread 三 std::mutex 1 lock 和 unlock 2 lock_guard 3 unique_lock 四 condition_variable 五 std::atomic 一 概念 1 多线程 在C11之前&#xff0…

Kafka 图形化工具 Eagle安装

Kafka 图形化工具 Eagle 3.0.1版本安装 1、安装JDK jdk安装 2、安装kafka 如未安装kafka,需要先安装完kafka 3、下载kafka-eagle 官网下载地址 wget https://github.com/smartloli/kafka-eagle-bin/archive/v3.0.1.tar.gz #移动到安装目录 mv v3.0.1.tar.gz…

vue实现echarts饼图自动轮播

echarts官网:Examples - Apache ECharts echartsFn.ts 把echarts函数封装成一个文件 import * as echarts from "echarts";const seriesData [{"value": 12,"name": "过流报警"},{"value": 102,"name&qu…

CSS动画案例6

目录 一、介绍二、静态页面的布局1.HTML部分2.CSS 三、动画交互四、结束语 一、介绍 本节内容我们来仿照一个网站(戳我进网站)的进入页面时的doing动画部分,首先是大标题从最小变为最大,然后是副标题从下向上走,最后是…

Proteus8.17下载安装教程

Proteus是一款嵌入式系统仿真开发软件,实现了从原理图设计、单片机编程、系统仿真到PCB设计,真正实现了从概念到产品的完整设计,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,能够帮助用…

工作-k8s问题处理篇

前言:公司这边为集团,所以项目较多,我目前总负责的项目架构有十六个,其中还有海外项目,不过底下也有一定的细分,同事解决不了的问题会升级到我这,只k8s容器平台常用的就有三种,一种是…

spring boot3.3.5 logback-spring.xml 配置

新建 resources/logback-spring.xml 控制台输出颜色有点花 可以自己更改 <?xml version"1.0" encoding"UTF-8"?> <!--关闭文件扫描 scanfalse --> <configuration debug"false" scan"false"><springProperty …