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