登录日志导出、清空功能完成
parent
5fa9cd8c36
commit
a2f8878d16
|
@ -226,7 +226,7 @@ class MessagePushUserSerializer(CustomModelSerializer):
|
||||||
|
|
||||||
class LoginInforSerializer(CustomModelSerializer):
|
class LoginInforSerializer(CustomModelSerializer):
|
||||||
"""
|
"""
|
||||||
参数设置 简单序列化器
|
登录日志 简单序列化器
|
||||||
"""
|
"""
|
||||||
creator_name = serializers.SlugRelatedField(slug_field="username", source="creator", read_only=True)
|
creator_name = serializers.SlugRelatedField(slug_field="username", source="creator", read_only=True)
|
||||||
|
|
||||||
|
@ -235,6 +235,18 @@ class LoginInforSerializer(CustomModelSerializer):
|
||||||
fields = "__all__"
|
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')
|
||||||
|
|
||||||
|
|
||||||
# ================================================= #
|
# ================================================= #
|
||||||
# ************** 操作日志 序列化器 ************** #
|
# ************** 操作日志 序列化器 ************** #
|
||||||
# ================================================= #
|
# ================================================= #
|
||||||
|
|
|
@ -37,5 +37,9 @@ urlpatterns = [
|
||||||
re_path('operation_log/clean/', OperationLogModelViewSet.as_view({'delete': 'clean_all', })),
|
re_path('operation_log/clean/', OperationLogModelViewSet.as_view({'delete': 'clean_all', })),
|
||||||
# 导出操作日志
|
# 导出操作日志
|
||||||
re_path('operation_log/export/', OperationLogModelViewSet.as_view({'get': 'export', })),
|
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
|
urlpatterns += router.urls
|
||||||
|
|
|
@ -13,7 +13,7 @@ from ..system.serializers import DictDataSerializer, DictDataCreateUpdateSeriali
|
||||||
ConfigSettingsCreateUpdateSerializer, SaveFileSerializer, SaveFileCreateUpdateSerializer, \
|
ConfigSettingsCreateUpdateSerializer, SaveFileSerializer, SaveFileCreateUpdateSerializer, \
|
||||||
ExportConfigSettingsSerializer, ExportDictDataSerializer, ExportDictDetailsSerializer, \
|
ExportConfigSettingsSerializer, ExportDictDataSerializer, ExportDictDetailsSerializer, \
|
||||||
MessagePushSerializer, MessagePushCreateUpdateSerializer, ExportMessagePushSerializer, LoginInforSerializer, \
|
MessagePushSerializer, MessagePushCreateUpdateSerializer, ExportMessagePushSerializer, LoginInforSerializer, \
|
||||||
OperationLogSerializer, ExportOperationLogSerializer
|
OperationLogSerializer, ExportOperationLogSerializer, ExportLoginInforSerializer
|
||||||
from ..utils.export_excel import export_excel_save_model
|
from ..utils.export_excel import export_excel_save_model
|
||||||
from ..utils.response import SuccessResponse
|
from ..utils.response import SuccessResponse
|
||||||
|
|
||||||
|
@ -225,6 +225,20 @@ class LoginInforModelViewSet(CustomModelViewSet):
|
||||||
filter_class = LoginInforFilter
|
filter_class = LoginInforFilter
|
||||||
extra_filter_backends = [DataLevelPermissionsFilter]
|
extra_filter_backends = [DataLevelPermissionsFilter]
|
||||||
ordering = '-create_datetime' # 默认排序
|
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):
|
class OperationLogModelViewSet(CustomModelViewSet):
|
||||||
|
|
Loading…
Reference in New Issue