django拥有自己的admin页面,同时它有自己的一套日志管理结构。正常的日志存放在django_admin_log表中,查看日志可以直接在django的管理页面查看。然而,它的日志记录比较简单,且存放在数据库中。如何扩展他呢?
由于django的管理model,均采用类似方法:
class ApplicationAdmin(admin.ModelAdmin):
list_display = ('id','key','name', 'description', 'type','apphandler','argument','create','modified')
search_fields = ('key','name','description')
admin.site.register(Application,ApplicationAdmin)
实际的日志记录逻辑均在父类ModelAdmin中实现,具体在django.conrtrib.admin.options中。
def log_addition(self, request, object):
"""
Log that an object has been successfully added.
The default implementation creates an admin LogEntry object.
"""
from django.contrib.admin.models import LogEntry, ADDITION
LogEntry.objects.log_action(
user_id = request.user.pk,
content_type_id = ContentType.objects.get_for_model(object).pk,
object_id = object.pk,
object_repr = force_unicode(object),
action_flag = ADDITION
)
def log_change(self, request, object, message):
"""
Log that an object has been successfully changed.
The default implementation creates an admin LogEntry object.
"""
from django.contrib.admin.models import LogEntry, CHANGE
LogEntry.objects.log_action(
user_id = request.user.pk,
content_type_id = ContentType.objects.get_for_model(object).pk,
object_id = object.pk,
object_repr = force_unicode(object),
action_flag = CHANGE,
change_message = message
)
def log_deletion(self, request, object, object_repr):
"""
Log that an object will be deleted. Note that this method is called
before the deletion.
The default implementation creates an admin LogEntry object.
"""
from django.contrib.admin.models import LogEntry, DELETION
LogEntry.objects.log_action(
user_id = request.user.id,
content_type_id = ContentType.objects.get_for_model(self.model).pk,
object_id = object.pk,
object_repr = object_repr,
action_flag = DELETION
)
大家一看就明白,下一步做什么了,直接覆写,或是拦截一下,修改一下message信息:
class DemoAdmin(admin.ModelAdmin):
list_display = ('id', 'name', 'description', 'create','modified')
search_fields = ('name', 'description',)
def log_change(self, request, object, message):
newmessage= "xxxx" //将消息改写为xxx
super(SpaceAdmin, self).log_change(request, object, newmessage)
class Meta:
pass
class Admin:
这样就可以完成日志改写了,或者直接叫个log也没啥问题。
推荐阅读:https://docs.djangoproject.com/en/dev/ref/contrib/admin/#ref-contrib-admin
http://www.ibm.com/developerworks/cn/opensource/os-django-admin/
分享到:
相关推荐
django的小课程项目 登陆注册 成功跳转到blog界面查看内容 应用django自带的数据库增删日志 很基础 分享给有需要的的人 代码都能运行 还有文档和截图
内置功能 菜单管理:配置系统菜单,操作权限,按钮权限标识、后端接口权限等。 部门管理:配置系统组织机构(公司、部门、角色)。 角色管理:角色菜单权限...插件市场 :基于Django-Vue-Admin框架开发的应用和插件。
功能包括:学生管理、班级管理、用户管理、日志管理、系统信息模块。 演示帐号: 用户名:admin123 密码:admin123 代码结构 server目录是后端代码 web目录是前端代码 部署运行 后端运行步骤 (1) 安装python 3.8 ...
后台功能包括:总览、家教管理、分类管理、标签管理、评论管理、用户管理、运营管理、日志管理、系统信息模块。 后台管理帐号: 用户名:admin123 密码:admin123 代码结构 server目录是后端代码 web目录是前端...
DRF-ADMIN后台管理系统项目简介一个基于Django,Django REST框架(DRF),Channels,Redis,Vue的前分离分离的后台管理系统项目正在开发中......项目源码初步源码前端原始码的github 项目文档留坑系统功能系统管理...
功能包括:商品管理、分类管理、用户管理、日志管理、系统信息模块。 演示地址 http://store.gitapp.cn 演示帐号: 用户名:admin123 密码:admin123 代码结构 server目录是后端代码 web目录是前端代码 部署运行...
功能包括:药品管理、分类管理、顾客管理、用户管理、日志管理、系统信息模块。 演示帐号: 用户名:admin123 密码:admin123 代码结构 server目录是后端代码 web目录是前端代码 部署运行 后端运行步骤 (1) 安装...
后台功能包括:总览、订单管理、商品管理、分类管理、标签管理、评论管理、用户管理、运营管理、日志管理、系统信息模块。 后台管理帐号: 用户名:admin123 密码:admin123 毕业设计基于python+django+vue开发的...
功能包括:学生管理、宿舍管理、用户管理、日志管理、系统信息模块。 演示帐号: 用户名:admin123 密码:admin123 代码结构 server目录是后端代码 web目录是前端代码 部署运行 后端运行步骤 (1) 安装python 3.8 ...
关于通过 cron 运行您的 Django 管理命令,并在 admin 中为您提供一些成功和日志信息。特征crontab 中的单个条目,为计划的命令分叉新进程通过 django admin 定义何时运行哪个管理命令将成功状态、stdout 和 stderr ...
功能:1、操作日志收集+简要&详细展示;...使用涉及:1、前端:html+css+bootstrap、一点JavaScript,前端Admin后台:Django-SimpleUI 后端:django 内置第三方模块:paramiko、telnetlib、asyncio、socket、SimpleUI
此外,您还有机会从日志中按邮件类别和类别创建报告。 默认情况下,也可以使用带有收件人的组并按模型发送信号。 可以在不依赖任何编程语言的情况下用作外部服务。 该应用程序非常容易在您的项目上安装和使用。 ...
毕业设计基于python+django+vue开发的电子...后台功能包括:总览、订单管理、商品管理、分类管理、标签管理、评论管理、用户管理、运营管理、日志管理、系统信息模块。 后台管理帐号: 用户名:admin123 密码:admin123
后台功能包括:总览、家教管理、分类管理、标签管理、评论管理、用户管理、运营管理、日志管理、系统信息模块。 效果演示 前台地址: http://jiajiao.gitapp.cn 后台地址: http://jiajiao.gitapp.cn/admin 后台...
功能包括:学生管理、班级管理、用户管理、日志管理、系统信息模块。 演示帐号: 用户名:admin123 密码:admin123 代码结构 server目录是后端代码 web目录是前端代码 部署运行 后端运行步骤 (1) 安装python ...
项目尽量使用Django内部提供的API,后台管理为Django自带的管理系统django-admin。适合Django的小型实战项目。 功能简介: 商品浏览:商品的图片,售价,种类,简介以及库存等信息。 商品评论:用户在购买了商品后才...
后台功能包括:总览、房屋管理、分类管理、标签管理、评论管理、用户管理、运营管理、日志管理、系统信息模块。 演示地址 前台地址: http://zf.gitapp.cn 后台地址: http://zf.gitapp.cn/admin 后台管理帐号: ...
python 后台管理帐号: ...后台功能包括:总览、订单管理、宠物管理、分类管理、标签管理、评论管理、用户管理、运营管理、日志管理、系统信息模块。 代码结构 server目录是后端代码 web目录是前端代码
找到所有你想知道的,关于自动化管理界面的知识,Django 最受欢迎的特性之一: 管理站点 管理动作 管理文档生成器 安全 在 Web 应用的发展中,安全是最重要主题,Django 提供了多种保护手段和机制。 安全概览 在 ...
后台功能包括:总览、家教管理、分类管理、标签管理、评论管理、用户管理、运营管理、日志管理、系统信息模块。 效果演示 前台地址: http://jiajiao.gitapp.cn 后台地址: http://jiajiao.gitapp.cn/admin 后台...