如何停止在 Django 2.* 管理面板中记录最近的操作和历史记录?

Posted

技术标签:

【中文标题】如何停止在 Django 2.* 管理面板中记录最近的操作和历史记录?【英文标题】:How to stop logging Recent actions and History in Django 2.* admin panel? 【发布时间】:2018-08-08 00:10:07 【问题描述】:

给大家!

我正在使用 Django 2.*,但不知道如何从 Django 管理面板中删除这个对我无用的日志功能。

我需要完全停止在 Django 管理面板中跟踪所有最近的操作和日志记录。

请帮我找出解决办法。 (在这里寻求帮助之前,我已经在 Google 上搜索得够好了)

【问题讨论】:

This 是文档中告诉您如何操作的部分;我不想在这里写所有内容,认为链接实际上会更有帮助。希望对您有所帮助。 查看***.com/questions/6674250/… This article 做到这一点,但不完全是我想要的,它可以隐藏历史按钮和最近的操作,但它不会停止记录过程 【参考方案1】:

这些日志条目是在 ModelAdmin 的 3 种方法中创建的:log_addition、log_change 和 log_deletion。因此,您需要做的是在所有继承表单 ModelAdmin 的管理类中覆盖它们,并简单地在这些方法的主体中返回。

如果你有多个管理类,你可以创建一个混合类来覆盖这些方法并在你的所有管理类中继承它。请注意,您需要在 admin.ModelAdmin 之前从 mixin 继承。

例如:

class DontLog:
    def log_addition(self, *args):
        return

    # Do same for log_change and log_deletion

@admin.register(Category)
class CategoryAdmin(DontLog, admin.ModelAdmin):
    pass

要删除历史按钮,您需要按照与您的问题的其中一个 cmets 链接的管理文档中的说明编辑模板:

https://docs.djangoproject.com/en/2.0/ref/contrib/admin/#overriding-vs-replacing-an-admin-template

【讨论】:

以上是关于如何停止在 Django 2.* 管理面板中记录最近的操作和历史记录?的主要内容,如果未能解决你的问题,请参考以下文章

在 django 管理面板中一次添加多条记录

Django-Admin 面板不会显示插入的记录抛出 phpmyadmin?

Django,在管理员中更多2个

如何在django管理面板中访问Google Analytics?

如何在从管理面板 Django 1.3 上传的模板中显示图像

如何像管理面板一样在 Django 的外键中添加新项目?