Django Admin CMS 生成器
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_eff99d18/django-admin-cms,让你的 AI 助手能交互式生成 Django Admin 内容管理系统代码。
技能介绍
要解决的问题
Django 自带 Admin 是很好的起点,但每接手一个新业务都要从头重写一遍:模型刚定下来,admin.py 还是空的;列表页缺过滤、批量操作要手写;等到要区分管理员和普通用户后台时,才发现 get_queryset、save_model、AdminSite 的坑都得重新踩。
更麻烦的是代码风格不统一。A 项目用单文件 admin.py 堆到两千行,B 项目把每个模型拆成独立模块,C 项目干脆没有 list_select_related,列表页一打开就是 N+1。
这个技能做什么
django-admin-cms 把“从一句话需求到一套可运行后台”的路径固化下来,基于 Django 5.2 LTS,交互式收集信息后自动生成完整项目。
核心能力
- 自然语言推导模型:从业务描述里识别名词(候选模型)、动词(关系)、属性(字段)、状态(
choices),输出 ASCII 关系草图 - 三档特性选择:精简版(基础 CRUD)、标准版(+
SimpleListFilter/Action/Inline/ModelForm校验)、完整版(+双AdminSite/权限隔离/导入导出/单元测试) - 模块化 Admin:标准版起采用
app/admin/包,每模型独立文件,__init__.py集中导入 - 性能约束内建:
list_display含跨表字段时强制配list_select_related,聚合统计走annotate - 安全边界明确:
SECRET_KEY用django-insecure-占位并注明生产替换,DEBUG=True仅限开发演示
关键步骤
- 一次性询问缺失的 5 项信息:项目名、业务场景、主应用名、特性档位、是否双后台
- 推导实体关系,输出模型设计方案(字段清单、关系汇总表、
Meta配置)并等待确认 - 按确认档位生成代码,顺序保证依赖正确:骨架 → 模型 →
admin/→ 附加模块 → 模板静态 →README - 对照检查清单验证:
__str__/verbose_name_plural/ordering齐全、外键autocomplete_fields有对应search_fields、完整版测试覆盖数据隔离/save_model/Action
适用边界
- 只写文件,不跑命令。技能不执行
pip install、migrate、createsuperuser、runserver,启动步骤写进README由你手动执行 - 不会猜测业务实体。信息不全就继续问,确认模型设计后才动代码
- 锁定 Django 5.2。用到了 5.1+ 的
LoginRequiredMiddleware和@admin.action,往下兼容需要自己改 - 完整版才涉及权限隔离。需要数据隔离时模型必须带
created_by = ForeignKey(User, null=True, blank=True),且依赖django-import-export==4.4.1 - 通用化设计。蓝本是教务成绩系统,但领域概念已抽象为通用模式,图书、设备、订单、工单都适用
生成的代码是可运行的起点,不是终点。复杂业务逻辑、权限规则的细节,还是要你自己往里填。
使用场景
- 接到新业务需求,需要从业务描述推导数据模型并生成Django Admin后台骨架
- 现有后台列表页缺过滤和批量操作,需要补充SimpleListFilter和Admin Action
- 需要为管理员和普通用户分别搭建后台站点,实现数据隔离与权限控制
- 团队Django项目需要统一的Admin代码结构,希望把每个模型的admin拆成独立模块
适合人员
- 接手新业务需要快速搭建后台的Django开发工程师
- 负责老后台改造、需要补齐列表过滤和批量操作的后端开发者
- 正在做多角色分权系统、需要设计双AdminSite与权限隔离的技术人员
- 希望规范团队Admin代码组织、从单文件拆分为模块化结构的项目负责人