django的读日志审计

django-read-log的Python项目详细描述


简单的应用程序记录每次显示一个对象,可以与django简单历史结合使用,以实现完整的审计解决方案。 目前标准的基于类的视图:DetailViewUpdateViewDeleteViewListView 因为视图将显示对象作为功能的一部分来处理,所以支持开箱即用。 对于DeleteView和UpdateView,大多数情况下您希望显示对象(GET request) 在允许用户删除/更新对象之前。在

其他自定义视图很可能受支持请参见Using django-read-log in combination with unsupported views

对于每个视图,以下数据存储在审核模型(ReadLog)中:

user:Who view the item, can be an anonymous user.
content_object:A reference to the viewed object using a generic foreign key, if you delete an object the log entry will still be present.
operation:What operation triggered the the log entry to be written(detail, list, update, delete).
logged_at:When was the object viewed.

使用

只需3个简单步骤即可轻松使用

  1. 将已安装的应用程序添加到“U”日志中设置.py在
  2. 运行迁移:python管理.py迁移读取日志
  3. 导入并使用mixin
fromread_log.view_mixinsimportReadLogMixinfromtest_read_log.modelsimportTestModelclassTestDetailView(ReadLogMixin,DetailView):model=TestModel

自定义记录的操作

默认情况下,以下视图映射到以下操作。在

^{tb2}$

{/str}可以将{/str}属性的 ^{pr2}$

结合使用django read log和不支持的视图

因为视图mixin钩住了get_context_data视图函数,所以应该可以将mixin添加到 不支持的视图,只要它们实现或继承get_context_data函数 (例如,从SingleObjectMixin或MultipleObjectMixin)并将类属性'logoperation'定义到字符串 您希望记录为“操作”字段。在

不包括演示文稿

当需要审计时,您通常希望限制数据的公开,但不显示ReadLog 如果您需要一种显示Readlog的方法,则由您来实现它。在

fromdjango.contribimportadminfromread_log.modelsimportReadLogadmin.site.register(ReadLog)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java Hibernate@ManyToMany mapping只在一个方向上在数据库中添加记录   java将文件上载到tomcat服务器外部的文件夹   java将摄像头捕获的图像上传到服务器   java如何创建Rest API并为进程添加时间延迟?   springmodulesvalidation0中缺少java注释包。8a源文件   如何在java中打印SOAP头   Spring security中的java自定义消息,包括UserDetailsService实现和异常   java如何使用Htmlunit中的表单数据登录站点   web如何在WildFly上自动运行java文件   java如何从已经使用另一个方法传递的参数的方法中获取返回值?   java我在JFrame上有一个索引越界。setContentPane   java中的循环序列/系列打印   java maven 3 webapp没有要运行的测试吗?   java CORS不允许POST请求   java再次在派生类中的Jackson中添加字段,该字段在基类中被忽略   爪哇坑测试显示仆从由于超时而异常退出   java寻找第10001个素数   java jboss是否更改web应用程序上下文根?