前言
本文依然是中台项目延伸的笔记
这个系列的文章太小众了,看的人都不多
我争取尽快把这系列完结了,然后进入新的项目
关于审计
之前我在 dotnet 的项目里已经自己实现了审计功能了,还是用切面思想搞的
详见:
- AspNetCore开发笔记:实现动态审计日志功能
- AspNetCore开发笔记:进一步实现非侵入性审计日志功能
Django 生态非常丰富,实现审计应该也有很多方法和现成的库
而且因为强绑定了自己的一套 ORM ,整个生态都围绕这个体系来展开,更加的开箱即用
simple-history
本文使用了的这个 simple-history 可以记录每个 model 的操作
搭配 DjangoStarter 框架使用,目前已经切换到 unfold admin 作为管理后台,可以无缝集成
- https://github.com/django-commons/django-simple-history
- https://unfoldadmin.com/docs/integrations/django-simple-history/
安装(普通Django项目)
这里是普通 Django 项目的步骤
先安装依赖- pdm add django-simple-history
复制代码 注册应用- INSTALLED_APPS = [
- # ...
- 'simple_history',
- ]
复制代码 添加中间件
这个库的审计功能是通过中间件来实现的,当然也可以不用中间件,需要额外的方式折腾。- MIDDLEWARE = [
- # ...
- 'simple_history.middleware.HistoryRequestMiddleware',
- ]
复制代码 然后修改 admin 继承 SimpleHistoryAdmin- from simple_history.admin import SimpleHistoryAdmin
- @admin.register(Movie)
- class MovieAdmin(SimpleHistoryAdmin):
- ...
复制代码 这样就可以在后台看到这个 model 的相关操作了
DjangoStarter集成
实际上是 unfold 的集成
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |