登录日志导出、清空功能完成

pull/2/head
李强 2021-03-22 00:07:02 +08:00
parent 5fa9cd8c36
commit a2f8878d16
3 changed files with 32 additions and 2 deletions

View File

@ -226,7 +226,7 @@ class MessagePushUserSerializer(CustomModelSerializer):
class LoginInforSerializer(CustomModelSerializer):
"""
参数设置 简单序列化器
登录日志 简单序列化器
"""
creator_name = serializers.SlugRelatedField(slug_field="username", source="creator", read_only=True)
@ -235,6 +235,18 @@ class LoginInforSerializer(CustomModelSerializer):
fields = "__all__"
class ExportLoginInforSerializer(CustomModelSerializer):
"""
导出 登录日志 简单序列化器
"""
creator_name = serializers.SlugRelatedField(slug_field="username", source="creator", read_only=True)
class Meta:
model = LoginInfor
fields = ('id', 'creator_name', 'ipaddr', 'loginLocation', 'browser', 'os',
'status', 'msg', 'creator_name')
# ================================================= #
# ************** 操作日志 序列化器 ************** #
# ================================================= #

View File

@ -37,5 +37,9 @@ urlpatterns = [
re_path('operation_log/clean/', OperationLogModelViewSet.as_view({'delete': 'clean_all', })),
# 导出操作日志
re_path('operation_log/export/', OperationLogModelViewSet.as_view({'get': 'export', })),
# 清空登录日志
re_path('logininfor/clean/', LoginInforModelViewSet.as_view({'delete': 'clean_all', })),
# 导出登录日志
re_path('logininfor/export/', LoginInforModelViewSet.as_view({'get': 'export', })),
]
urlpatterns += router.urls

View File

@ -13,7 +13,7 @@ from ..system.serializers import DictDataSerializer, DictDataCreateUpdateSeriali
ConfigSettingsCreateUpdateSerializer, SaveFileSerializer, SaveFileCreateUpdateSerializer, \
ExportConfigSettingsSerializer, ExportDictDataSerializer, ExportDictDetailsSerializer, \
MessagePushSerializer, MessagePushCreateUpdateSerializer, ExportMessagePushSerializer, LoginInforSerializer, \
OperationLogSerializer, ExportOperationLogSerializer
OperationLogSerializer, ExportOperationLogSerializer, ExportLoginInforSerializer
from ..utils.export_excel import export_excel_save_model
from ..utils.response import SuccessResponse
@ -225,6 +225,20 @@ class LoginInforModelViewSet(CustomModelViewSet):
filter_class = LoginInforFilter
extra_filter_backends = [DataLevelPermissionsFilter]
ordering = '-create_datetime' # 默认排序
export_field_data = ['访问编号', '用户名称', '登录地址', '登录地点', '浏览器', '操作系统',
'登录状态', '操作信息', '登录日期']
export_serializer_class = ExportLoginInforSerializer
def clean_all(self, request: Request, *args, **kwargs):
"""
清空登录日志
:param request:
:param args:
:param kwargs:
:return:
"""
self.get_queryset().delete()
return SuccessResponse(msg="清空成功")
class OperationLogModelViewSet(CustomModelViewSet):