首页 > 解决方案 > 如何在 Django 中获取特定用户日志?

问题描述

我想在我的系统中记录一些用户活动。实际上,我想要的看起来与管理员日志非常相似。我可以使用我在互联网上找到的代码成功保存管理员的日志。系统中有一些重要的操作。这些是;

所有这些操作都是由角色为“ Lead”的用户进行的。

这是管理日志的代码:

管理员.py

@admin.register(LogEntry)
class LogEntryAdmin(admin.ModelAdmin):
    date_hierarchy = 'action_time'

    list_filter = [
        'user',
        'content_type',
        'action_flag'
    ]

    search_fields = [
        'object_repr',
        'change_message'
    ]

    list_display = [
        'action_time',
        'user',
        'content_type',
        'object_link',
        'action_flag',
    ]

    def has_add_permission(self, request):
        return False

    def has_change_permission(self, request, obj=None):
        return False

    def has_delete_permission(self, request, obj=None):
        return False

    def has_view_permission(self, request, obj=None):
        return request.user.is_superuser

    def object_link(self, obj):
        if obj.action_flag == DELETION:
            link = escape(obj.object_repr)
        else:
            ct = obj.content_type
            link = '<a href="%s">%s</a>' % (
                reverse('admin:%s_%s_change' % (ct.app_label, ct.model), args=[obj.object_id]),
                escape(obj.object_repr),
            )
        return mark_safe(link)
    object_link.admin_order_field = "object_repr"
    object_link.short_description = "object"

它看起来像这样:

这个

我该怎么做?

标签: pythondjango

解决方案


推荐阅读