當自定義後臺系統中,需要自定義日誌系統來記錄操作操作日誌
django提供了第三方插件來實現
pip install django-audit-log
在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()