当自定义后台系统中,需要自定义日志系统来记录操作操作日志
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()