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

给大家!

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

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

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

【问题讨论】:

  • This 是文档中告诉您如何操作的部分;我不想在这里写所有内容,认为链接实际上会更有帮助。希望对您有所帮助。
  • This article 做到这一点,但不完全是我想要的,它可以隐藏历史按钮和最近的操作,但它不会停止记录过程

标签: python django python-3.x django-admin


【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-12
    • 2017-05-04
    • 2016-10-14
    • 2017-12-08
    • 1970-01-01
    相关资源
    最近更新 更多