How can I add non-CRUD actions to the django admin
我需要为我的 Django 应用程序创建一个简单的 CRUD 界面。 Django 管理员完成了我需要的 90% 的工作,但我有几件事不太适合。
假设我有一个 File 模型和一个 Validator 模型。除了对它们进行 CRUDing 之外,我还需要能够将文件发送到验证器进行验证。这不是数据库操作。将文件发送到验证器涉及在验证器队列中安排文件。稍后(几分钟或几小时),当验证器完成时,该事实将记录在数据库中。
从 UX 视图来看,这自然属于文件管理页面上的下拉菜单,用于选择验证器和按钮。有没有办法自然地将它添加到管理员?
(我是 django 新手,如果这是一个愚蠢的问题,我深表歉意。)
这是一个非常笼统的问题。管理员允许您以几乎任何您希望的方式扩展它。我个人会先看看如何在 Django 中创建包(应用程序)。
您可以通过多种方式扩展管理员、管理员操作、其他应用程序、自定义仪表板以覆盖模板等。
也有很多包已经实现了这一点。
有关文件的任务处理,请查看 Celery。 Celery 是一个异步任务队列/作业队列系统。
更多阅读:自定义 Django 管理界面功能