【Django-xadmin】

news2024/12/26 10:21:32

时间长不用,会忘的系列

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的空值设置方法;

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深入浅出体验AI生图产品Dall-E

DALL-E是由OpenAI开发的一种革命性的AI图像生成工具,能够根据文本描述生成图像。它的名字灵感来源于著名画家萨尔瓦多达利(Salvador Dal)和皮克斯动画电影中的角色瓦力(WALL-E),这暗示了其在艺术创造力与技…

域名解析系统 DNS

1.域名系统概述 用户与互联网上某台主机通信时,必须要知道对方的IP地址。然而用户很难记住长达32 位的二进制主机地址。即使是点分十进制地址也并不太容易记忆。但在应用层为了便于用户记忆各种网络应用,连接在互联网上的主机不仅有P地址,而…

学习ASP.NET Core的身份认证(基于Session的身份认证3)

开源博客项目Blog中提供了另一种访问控制方式,其基于自定义类及函数的特性类控制访问权限。本文学习并测试开源博客项目Blog的访问控制方式,测试程序中直接复用开源博客项目Blog中的相关类及接口定义,并在其上调整判断逻辑。   首先是接口A…

十六(AJAX3)、XMLHttpRequest、Promise、简易axios封装、案例天气预报、lodash-debounce防抖

1. XMLHttpRequest 1.1 XMLHttpRequest-基本使用 /* 定义:XMLHttpRequest(XHR)对象用于与服务器交互。通过 XMLHttpRequest 可以在不刷新页面的情况下请求特定 URL,获取数据。这允许网页在不影响用户操作的情况下,更…

【QT】音乐播放器demo

1、使用设计师模式绘制ui界面 添加QPushButton并设置大小,ctrl鼠标拖动复制相同的组件。 添加icon //ps:icon下载网站 设置按钮无边框并设置鼠标悬停颜色: 修改QWidget样式表,添加: *{ border:none; } QPushBu…

「Mac畅玩鸿蒙与硬件34」UI互动应用篇11 - 颜色选择器

本篇将带你实现一个颜色选择器应用。用户可以从预设颜色中选择,或者通过输入颜色代码自定义颜色来动态更改界面背景。该应用展示了如何结合用户输入、状态管理和界面动态更新的功能。 关键词 UI互动应用颜色选择器状态管理用户输入界面动态更新 一、功能说明 颜色…

T620存储安全方案SoC芯片技术手册

系统资源 集成32位国产CPU CK803S;最高工作频率260Mhz CK803S内置16KB I/D Cache,内置32KB DTCM 32KB ROM;256KB SRAM;8KB SRAM(系统专用) 512KB/1MB 片内Flash 安全算法 支持SM4数据加密,加密性…

计算机光电成像理论基础

一、透过散射介质成像 1.1 光在散射介质中传输 光子携带物体信息并进行成像的过程是一个涉及光与物质相互作用的物理现象。这个过程可以分为几个步骤来理解: 1. **光的发射或反射**: - 自然界中的物体可以发射光(如太阳)&am…

C语言——自我介绍_Gitee的基本使用

自我介绍 一名信息安全技术应用专业的大学生,来到CSDN博客论坛已有两年。写博客的目的:第一点是为了学习到更多的知识,以便以后所需;第二点是为了读者,俺是一个初学者,希望可以和读者朋友共同进步&#xf…

Redis高阶集群搭建+集群读写

问题 容量不够,redis 如何进行扩容?并发写操作, redis 如何分摊?另外,主从模式,薪火相传模式,主机宕机,导致 ip 地址发生变化,应用程序中配置需要修改对应的主机地址、端…

windows下kafka初体验简易demo

这里提供了windows下的java1.8和kafka3.9.0版本汇总,可直接免费下载 【免费】java1.8kafka2.13版本汇总资源-CSDN文库 解压后可以得到一个文件夹 资料汇总内有一个kafka文件资料包.tgz,解压后可得到下述文件夹kafka_2.13-3.9.0,资料汇总内还…

深入理解 TCP 标志位(TCP Flags)

深入理解 TCP 标志位(TCP Flags) 1. 简介 在网络安全和网络分析领域,TCP标志位(TCP Flags)是理解网络行为和流量模式的关键概念。特别是在使用工具如Nmap进行端口扫描时,理解这些标志位的意义和用法至关重…

【智商检测——DP】

题目 代码 #include <bits/stdc.h> using namespace std; const int N 1e510, M 110; int f[N][M]; int main() {int n, k;cin >> n >> k;for(int i 1; i < n; i){int x;cin >> x;f[i][0] __gcd(f[i-1][0], x);for(int j 1; j < min(i, k)…

游戏引擎学习第31天

仓库:https://gitee.com/mrxiao_com/2d_game 回顾 回顾了他们的游戏开发进度&#xff0c;并强调了编写整个游戏的价值。他们提到&#xff0c;这个过程的目的是让每个参与者从零开始编程一个完整的游戏&#xff0c;了解整个游戏的工作原理。这样做的一个关键好处是&#xff0c…

南昌大学(NCU)羽毛球场地预约脚本

在冬天进行羽毛球运动是一个很好的选择&#xff0c;它能帮助你保持身体活力&#xff0c;增强心肺功能&#xff0c;并促进血液循环。但是室友和师弟师妹反应&#xff0c;学校的羽毛球场地有限&#xff0c;手速慢的根本预约不到场地。 中午12&#xff1a;00准时开放预约&#xff…

debian 11 虚拟机环境搭建过坑记录

目录 安装过程系统配置修改 sudoers 文件网络配置换源安装桌面mount nfs 挂载安装复制功能tab 无法补全其他安装 软件配置eclipse 配置git 配置老虚拟机硬盘挂载 参考 原来去 debian 官网下载了一个最新的 debian 12&#xff0c;安装后出现包依赖问题&#xff0c;搞了半天&…

leecode96.不同的二叉搜索树

在画的过程中发现规律&#xff0c;每次选择不同的节点作为根节点&#xff0c;左右两边的节点再排列组合一下就能求出总数 class Solution { public:int numTrees(int n) {vector<int> dp(n1,0);dp[0]1;for(int i1;i<n;i)for(int j0;j<i;j)dp[i]dp[i-j-1]*dp[j];ret…

Vue前端开发-路由的基本配置

在传统的 Web 页面开发过程中&#xff0c;可以借助超级链接标签实现站内多个页面间的相互跳转&#xff0c;而在现代的工程化、模块化下开发的Web页面只有一个&#xff0c;在一个页面中需要实现站内各功能页面渲染&#xff0c;相互跳转&#xff0c;这时些功能的实现&#xff0c;…

Creating Server TCP listening socket *:6379: bind: No error

启动redis报错&#xff1a;Creating Server TCP listening socket *:6379: bind: No error 解决方案&#xff1a; 1、直接在命令行中输入 redis-cli.exe 2、输入shutdown&#xff0c;关闭 3、输exit&#xff0c;退出 4、重新输入 redis-server.exe redis.windows.conf&…

详解登录MySQL时出现SSL connection error: unknown error number错误

目录 登录MySQL时出错SSL connection error: unknown error number 出错原因 使用MySQL自带的工具登录MySQL 登陆之后&#xff0c;使用如下命令进行查看 解决方法 找到MySQL8安装目录下的my.ini配置文件 记事本打开my.ini文件&#xff0c;然后按下图所示添加配置 此时再…