天天看點

django自定義日志系統

當自定義背景系統中,需要自定義日志系統來記錄操作記錄檔

django提供了第三方插件來實作
           
pip install django-auditlog
           

 在pip list中顯示為: django-auditlog

将audit_log.middleware.UserLoggingMiddleware添加到MIDDLEWARE_CLASSES:

MIDDLEWARE_CLASSES =(
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'audit_log.middleware.UserLoggingMiddleware',
)
           

 如果要跟蹤完整的模型更改曆史記錄,則需要将AuditLog管理器附加到模型:

來自django.db導入模型
來自audit_log.models.fields導入LastUserField
來自audit_log.models.managers導入AuditLog


class ProductCategory(models.Model):
    name = models.CharField(max_length = 150,primary_key = True)
    description = models.TextField()

    audit_log = AuditLog()

class Product(models.Model):
    name = models.CharField(max_length = 150)
    description = models.TextField()
    price = models.DecimalField(max_digits = 10,decimal_places = 2)
    category = models.ForeignKey(ProductCategory)

    audit_log = AuditLog()
           

https://pypi.org/project/django-audit-log/