當自定義背景系統中,需要自定義日志系統來記錄操作記錄檔
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/