django-simpleui是目前django项目中最省事、兼容性最好、中文支持最稳的admin美化方案,无需修改源码或模板,安装即用,持续支持django 4.x及5.3,内置简体中文、暗色模式和侧边栏折叠,且零迁移成本。

直接说结论:用 django-simpleui 是目前 Django 项目里最省事、兼容性最好、中文支持最稳的 Admin 美化方案,不用改源码、不碰模板、装完即用。
为什么选 django-simpleui 而不是自己写模板或换其他主题
自己重写 admin/base_site.html 或 fork django-grappelli 这类老项目,容易卡在 Django 版本升级上——比如 Django 4.2+ 已经弃用部分模板上下文变量,grappelli 的最新版至今没完全适配。而 django-simpleui 在 2026 年仍保持活跃更新,对 Django 4.x 全系支持,且默认启用简体中文、暗色模式开关、侧边栏折叠等实用功能。
它不替换 Django Admin 的逻辑,只覆盖前端资源(CSS/JS),所以你所有自定义的 ModelAdmin 类、list_filter、search_fields 都照常工作,零迁移成本。
INSTALLED_APPS 顺序错会导致 SimpleUI 不生效
这是新手踩坑最多的一点:必须把 'simpleui' 放在 'django.contrib.admin' 之前。Django 加载静态文件和模板时按 INSTALLED_APPS 顺序查找,如果 simpleui 在后面,它的 admin/base_site.html 就不会被优先加载。
-
INSTALLED_APPS中顺序错误示例(SimpleUI 不生效):['django.contrib.admin', 'simpleui', ...] - 正确写法:
['simpleui', 'django.contrib.admin', 'django.contrib.auth', ...] - 顺带一提:如果你还用了
django-import-export或django-mptt,它们的位置无所谓,只要不插在simpleui和django.contrib.admin中间就行
中文、时区、密码强度这些基础配置别漏掉
SimpleUI 只管界面,语言、时间、密码策略还得靠 Django 自身设置。漏掉会导致后台显示乱码、用户创建时间错 8 小时、或者 createsuperuser 时提示 “This password is too common” 却不知道怎么关。
- 在
settings.py中确认这三项已设置:LANGUAGE_CODE = 'zh-hans'TIME_ZONE = 'Asia/Shanghai'AUTH_PASSWORD_VALIDATORS = [](开发阶段可清空,生产环境建议保留至少 1 条) - 如果改完
LANGUAGE_CODE后用户列表页还是英文,重启开发服务器(runserver不会自动重载 settings 变更) -
TIME_ZONE设成'Asia/Shanghai',不是'Asia/Beijing',后者 Django 不识别
注册自定义 User 模型后,SimpleUI 的用户管理页可能空白
当你用 AbstractUser 或 AbstractBaseUser 自定义了用户模型,并在 admin.py 里注册了 UserAdmin 子类,SimpleUI 默认的用户页样式有时会因字段渲染逻辑冲突而空白(页面加载但列表无数据)。
解决办法是显式继承并重写 get_urls 和 changelist_view,但更轻量的做法是:在自定义 ModelAdmin 类中加一句:
class MyUserAdmin(UserAdmin):
list_display = ('username', 'email', 'is_staff', 'date_joined')
# 加这一行,强制 SimpleUI 使用标准列表模板
change_list_template = 'admin/change_list.html'
注意不是 simpleui/admin/change_list.html —— 那个路径是旧版用法,新版 SimpleUI 已统一接管所有 admin 模板,强行指定反而会失效。
真正麻烦的从来不是装一个包,而是改完之后发现某处字段不显示、排序失效、或者搜索框点了没反应——这些问题往往出在自定义 ModelAdmin 的字段配置和 SimpleUI 的 JS 初始化时机冲突上,调试时优先检查浏览器控制台有没有 Uncaught ReferenceError 或 Failed to load resource 报错。
Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!











