From 959faf6ec41cb62d6559e84960574fd3978f9c09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=BC=BA?= <1206709430@qq.com> Date: Sat, 3 Jul 2021 15:43:54 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E6=9E=84(dvadmin):=E6=89=80=E6=9C=89?= =?UTF-8?q?=E5=8C=85=E5=BC=95=E5=85=A5=E9=83=BD=E5=8A=A0apps.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dvadmin-backend/application/urls.py | 2 +- dvadmin-backend/apps/vadmin/celery/apps.py | 2 +- .../apps/vadmin/celery/serializers.py | 4 +- dvadmin-backend/apps/vadmin/celery/views.py | 12 +-- dvadmin-backend/apps/vadmin/monitor/apps.py | 2 +- .../apps/vadmin/monitor/filters.py | 2 +- .../apps/vadmin/monitor/models/__init__.py | 6 +- .../apps/vadmin/monitor/models/monitor.py | 2 +- .../apps/vadmin/monitor/models/sys_files.py | 2 +- .../apps/vadmin/monitor/serializers.py | 4 +- dvadmin-backend/apps/vadmin/monitor/tasks.py | 8 +- dvadmin-backend/apps/vadmin/monitor/urls.py | 2 +- dvadmin-backend/apps/vadmin/monitor/views.py | 14 +-- dvadmin-backend/apps/vadmin/op_drf/apps.py | 4 +- dvadmin-backend/apps/vadmin/op_drf/fields.py | 2 +- dvadmin-backend/apps/vadmin/op_drf/filters.py | 2 +- .../apps/vadmin/op_drf/generics.py | 6 +- .../apps/vadmin/op_drf/logging/handlers.py | 2 - .../op_drf/management/commands/createapp.py | 2 +- .../apps/vadmin/op_drf/middleware.py | 4 +- dvadmin-backend/apps/vadmin/op_drf/mixins.py | 7 +- .../apps/vadmin/op_drf/pagination.py | 1 - .../apps/vadmin/op_drf/response.py | 47 +++++++++- .../apps/vadmin/op_drf/validator.py | 2 +- dvadmin-backend/apps/vadmin/op_drf/views.py | 7 +- .../apps/vadmin/op_drf/viewsets.py | 2 +- .../apps/vadmin/permission/filters.py | 4 +- .../permission/management/commands/init.py | 2 +- .../apps/vadmin/permission/models/__init__.py | 10 +- .../apps/vadmin/permission/models/dept.py | 2 +- .../apps/vadmin/permission/models/menu.py | 2 +- .../apps/vadmin/permission/models/post.py | 2 +- .../apps/vadmin/permission/models/role.py | 4 +- .../apps/vadmin/permission/models/users.py | 5 +- .../apps/vadmin/permission/permissions.py | 4 +- .../apps/vadmin/permission/serializers.py | 8 +- .../apps/vadmin/permission/tasks.py | 4 +- .../apps/vadmin/permission/urls.py | 2 +- .../apps/vadmin/permission/views.py | 16 ++-- dvadmin-backend/apps/vadmin/system/apps.py | 2 +- dvadmin-backend/apps/vadmin/system/filters.py | 4 +- .../apps/vadmin/system/models/__init__.py | 19 ++-- .../apps/vadmin/system/models/celery_log.py | 2 +- .../vadmin/system/models/config_settings.py | 2 +- .../apps/vadmin/system/models/dict_data.py | 2 +- .../apps/vadmin/system/models/dict_details.py | 2 +- .../apps/vadmin/system/models/logininfor.py | 2 +- .../apps/vadmin/system/models/message_push.py | 4 +- .../vadmin/system/models/operation_log.py | 4 +- .../apps/vadmin/system/models/save_file.py | 4 +- .../apps/vadmin/system/serializers.py | 6 +- dvadmin-backend/apps/vadmin/system/urls.py | 2 +- dvadmin-backend/apps/vadmin/system/views.py | 24 ++--- dvadmin-backend/apps/vadmin/template/apps.py | 2 +- dvadmin-backend/apps/vadmin/urls.py | 6 +- .../apps/vadmin/utils/authentication.py | 4 +- dvadmin-backend/apps/vadmin/utils/backends.py | 3 - .../apps/vadmin/utils/decorators.py | 7 +- .../apps/vadmin/utils/exceptions.py | 3 +- .../apps/vadmin/utils/export_excel.py | 4 +- dvadmin-backend/apps/vadmin/utils/login.py | 17 ++-- .../apps/vadmin/utils/model_util.py | 2 +- dvadmin-backend/apps/vadmin/utils/response.py | 91 ------------------- 63 files changed, 185 insertions(+), 248 deletions(-) delete mode 100644 dvadmin-backend/apps/vadmin/utils/response.py diff --git a/dvadmin-backend/application/urls.py b/dvadmin-backend/application/urls.py index 2a3a0ae..9ad09e0 100644 --- a/dvadmin-backend/application/urls.py +++ b/dvadmin-backend/application/urls.py @@ -22,7 +22,7 @@ from django.urls import re_path, include from django.views.static import serve from rest_framework.views import APIView -from apps.vadmin.utils.response import SuccessResponse +from apps.vadmin.op_drf.response import SuccessResponse class CaptchaRefresh(APIView): diff --git a/dvadmin-backend/apps/vadmin/celery/apps.py b/dvadmin-backend/apps/vadmin/celery/apps.py index efafaf1..0d5c929 100644 --- a/dvadmin-backend/apps/vadmin/celery/apps.py +++ b/dvadmin-backend/apps/vadmin/celery/apps.py @@ -2,6 +2,6 @@ from django.apps import AppConfig class DpCmdbConfig(AppConfig): - name = 'vadmin.celery' + name = 'apps.vadmin.celery' diff --git a/dvadmin-backend/apps/vadmin/celery/serializers.py b/dvadmin-backend/apps/vadmin/celery/serializers.py index d2f24b3..c1ab484 100644 --- a/dvadmin-backend/apps/vadmin/celery/serializers.py +++ b/dvadmin-backend/apps/vadmin/celery/serializers.py @@ -1,8 +1,8 @@ from django_celery_beat.models import IntervalSchedule, CrontabSchedule, PeriodicTask from rest_framework import serializers -from ..op_drf.serializers import CustomModelSerializer -from ..utils.exceptions import APIException +from apps.vadmin.op_drf.serializers import CustomModelSerializer +from apps.vadmin.utils.exceptions import APIException class IntervalScheduleSerializer(CustomModelSerializer): diff --git a/dvadmin-backend/apps/vadmin/celery/views.py b/dvadmin-backend/apps/vadmin/celery/views.py index 8c159b8..15fabfc 100644 --- a/dvadmin-backend/apps/vadmin/celery/views.py +++ b/dvadmin-backend/apps/vadmin/celery/views.py @@ -2,13 +2,11 @@ from django_celery_beat.admin import TaskSelectWidget from django_celery_beat.models import IntervalSchedule, CrontabSchedule, PeriodicTask from rest_framework.views import APIView -from ..celery.filters import IntervalScheduleFilter, CrontabScheduleFilter, PeriodicTaskFilter -from ..celery.serializers import IntervalScheduleSerializer, CrontabScheduleSerializer, PeriodicTaskSerializer -from ..op_drf.views import CustomAPIView -from ..op_drf.viewsets import CustomModelViewSet -from ..system.models import DictData -from ..system.serializers import DictDataSerializer -from ..utils.response import SuccessResponse +from apps.vadmin.celery.filters import IntervalScheduleFilter, CrontabScheduleFilter, PeriodicTaskFilter +from apps.vadmin.celery.serializers import IntervalScheduleSerializer, CrontabScheduleSerializer, PeriodicTaskSerializer +from apps.vadmin.op_drf.views import CustomAPIView +from apps.vadmin.op_drf.viewsets import CustomModelViewSet +from apps.vadmin.op_drf.response import SuccessResponse class IntervalScheduleModelViewSet(CustomModelViewSet): diff --git a/dvadmin-backend/apps/vadmin/monitor/apps.py b/dvadmin-backend/apps/vadmin/monitor/apps.py index 13ee922..73a87c9 100644 --- a/dvadmin-backend/apps/vadmin/monitor/apps.py +++ b/dvadmin-backend/apps/vadmin/monitor/apps.py @@ -2,5 +2,5 @@ from django.apps import AppConfig class MonitorConfig(AppConfig): - name = 'vadmin.monitor' + name = 'apps.vadmin.monitor' verbose_name = "系统监控" diff --git a/dvadmin-backend/apps/vadmin/monitor/filters.py b/dvadmin-backend/apps/vadmin/monitor/filters.py index e80748e..3dadbe2 100644 --- a/dvadmin-backend/apps/vadmin/monitor/filters.py +++ b/dvadmin-backend/apps/vadmin/monitor/filters.py @@ -1,6 +1,6 @@ import django_filters -from .models import Server, Monitor +from apps.vadmin.monitor.models import Server, Monitor class ServerFilter(django_filters.rest_framework.FilterSet): diff --git a/dvadmin-backend/apps/vadmin/monitor/models/__init__.py b/dvadmin-backend/apps/vadmin/monitor/models/__init__.py index 0f0d1f8..868c0dc 100644 --- a/dvadmin-backend/apps/vadmin/monitor/models/__init__.py +++ b/dvadmin-backend/apps/vadmin/monitor/models/__init__.py @@ -1,3 +1,3 @@ -from ..models.monitor import Monitor -from ..models.server import Server -from ..models.sys_files import SysFiles +from apps.vadmin.monitor.models.monitor import Monitor +from apps.vadmin.monitor.models.server import Server +from apps.vadmin.monitor.models.sys_files import SysFiles diff --git a/dvadmin-backend/apps/vadmin/monitor/models/monitor.py b/dvadmin-backend/apps/vadmin/monitor/models/monitor.py index 7cf2bb5..4a5ee8d 100644 --- a/dvadmin-backend/apps/vadmin/monitor/models/monitor.py +++ b/dvadmin-backend/apps/vadmin/monitor/models/monitor.py @@ -1,6 +1,6 @@ from django.db.models import CharField, ForeignKey, CASCADE -from ...op_drf.models import CoreModel +from apps.vadmin.op_drf.models import CoreModel class Monitor(CoreModel): diff --git a/dvadmin-backend/apps/vadmin/monitor/models/sys_files.py b/dvadmin-backend/apps/vadmin/monitor/models/sys_files.py index 41557cf..cae5834 100644 --- a/dvadmin-backend/apps/vadmin/monitor/models/sys_files.py +++ b/dvadmin-backend/apps/vadmin/monitor/models/sys_files.py @@ -1,6 +1,6 @@ from django.db.models import CharField, ForeignKey, CASCADE -from ...op_drf.models import CoreModel +from apps.vadmin.op_drf.models import CoreModel class SysFiles(CoreModel): diff --git a/dvadmin-backend/apps/vadmin/monitor/serializers.py b/dvadmin-backend/apps/vadmin/monitor/serializers.py index 69d789e..a34b551 100644 --- a/dvadmin-backend/apps/vadmin/monitor/serializers.py +++ b/dvadmin-backend/apps/vadmin/monitor/serializers.py @@ -1,5 +1,5 @@ -from .models import Server, Monitor -from ..op_drf.serializers import CustomModelSerializer +from apps.vadmin.monitor.models import Server, Monitor +from apps.vadmin.op_drf.serializers import CustomModelSerializer # ================================================= # diff --git a/dvadmin-backend/apps/vadmin/monitor/tasks.py b/dvadmin-backend/apps/vadmin/monitor/tasks.py index 6a6d4a7..fb78e54 100644 --- a/dvadmin-backend/apps/vadmin/monitor/tasks.py +++ b/dvadmin-backend/apps/vadmin/monitor/tasks.py @@ -5,10 +5,10 @@ import time import psutil -from ..monitor.models import Server, Monitor, SysFiles -from ..op_drf.response import SuccessResponse -from ..system.models import ConfigSettings -from ..utils.decorators import BaseCeleryApp +from apps.vadmin.monitor.models import Server, Monitor, SysFiles +from apps.vadmin.op_drf.response import SuccessResponse +from apps.vadmin.system.models import ConfigSettings +from apps.vadmin.utils.decorators import BaseCeleryApp logger = logging.getLogger(__name__) from platform import platform diff --git a/dvadmin-backend/apps/vadmin/monitor/urls.py b/dvadmin-backend/apps/vadmin/monitor/urls.py index 49feeef..98cc85b 100644 --- a/dvadmin-backend/apps/vadmin/monitor/urls.py +++ b/dvadmin-backend/apps/vadmin/monitor/urls.py @@ -1,7 +1,7 @@ from django.urls import re_path from rest_framework.routers import DefaultRouter -from .views import ServerModelViewSet, MonitorModelViewSet +from apps.vadmin.monitor.views import ServerModelViewSet, MonitorModelViewSet router = DefaultRouter() router.register(r'server', ServerModelViewSet) diff --git a/dvadmin-backend/apps/vadmin/monitor/views.py b/dvadmin-backend/apps/vadmin/monitor/views.py index 373bb30..1e393f0 100644 --- a/dvadmin-backend/apps/vadmin/monitor/views.py +++ b/dvadmin-backend/apps/vadmin/monitor/views.py @@ -1,13 +1,13 @@ from django_celery_beat.models import PeriodicTask, IntervalSchedule, CrontabSchedule from rest_framework.request import Request -from .filters import ServerFilter, MonitorFilter -from .models import Server, Monitor, SysFiles -from .serializers import ServerSerializer, MonitorSerializer, UpdateServerSerializer -from ..op_drf.response import SuccessResponse, ErrorResponse -from ..op_drf.viewsets import CustomModelViewSet -from ..permission.permissions import CommonPermission -from ..system.models import ConfigSettings +from apps.vadmin.monitor.filters import ServerFilter, MonitorFilter +from apps.vadmin.monitor.models import Server, Monitor, SysFiles +from apps.vadmin.monitor.serializers import ServerSerializer, MonitorSerializer, UpdateServerSerializer +from apps.vadmin.op_drf.response import SuccessResponse, ErrorResponse +from apps.vadmin.op_drf.viewsets import CustomModelViewSet +from apps.vadmin.permission.permissions import CommonPermission +from apps.vadmin.system.models import ConfigSettings class ServerModelViewSet(CustomModelViewSet): diff --git a/dvadmin-backend/apps/vadmin/op_drf/apps.py b/dvadmin-backend/apps/vadmin/op_drf/apps.py index 9214aed..092f7d9 100644 --- a/dvadmin-backend/apps/vadmin/op_drf/apps.py +++ b/dvadmin-backend/apps/vadmin/op_drf/apps.py @@ -1,7 +1,7 @@ -from django.apps import AppConfig - import logging +from django.apps import AppConfig + logger = logging.getLogger(__name__) diff --git a/dvadmin-backend/apps/vadmin/op_drf/fields.py b/dvadmin-backend/apps/vadmin/op_drf/fields.py index e1114ff..62a6c7a 100644 --- a/dvadmin-backend/apps/vadmin/op_drf/fields.py +++ b/dvadmin-backend/apps/vadmin/op_drf/fields.py @@ -2,7 +2,7 @@ from django.contrib.auth import get_user_model from django.db import models from django.db.models import SET_NULL -from ..utils.string_util import uuid_8, uuid_16, uuid_32, uuid_36 +from apps.vadmin.utils.string_util import uuid_8, uuid_16, uuid_32, uuid_36 class IdField(models.CharField): diff --git a/dvadmin-backend/apps/vadmin/op_drf/filters.py b/dvadmin-backend/apps/vadmin/op_drf/filters.py index 1703e08..b250cd3 100644 --- a/dvadmin-backend/apps/vadmin/op_drf/filters.py +++ b/dvadmin-backend/apps/vadmin/op_drf/filters.py @@ -10,7 +10,7 @@ from django.utils import six from mongoengine.queryset import visitor from rest_framework.filters import BaseFilterBackend, SearchFilter, OrderingFilter -from ..utils.model_util import get_dept +from apps.vadmin.utils.model_util import get_dept logger = logging.getLogger(__name__) diff --git a/dvadmin-backend/apps/vadmin/op_drf/generics.py b/dvadmin-backend/apps/vadmin/op_drf/generics.py index 802c111..b9f9c93 100644 --- a/dvadmin-backend/apps/vadmin/op_drf/generics.py +++ b/dvadmin-backend/apps/vadmin/op_drf/generics.py @@ -4,11 +4,11 @@ from django.http import Http404 from django.shortcuts import get_object_or_404 as _get_object_or_404 from rest_framework.settings import api_settings +from apps.vadmin.utils.jsonpath_util import get_jsonpath, filter_json, search_json +from apps.vadmin.utils.sort_util import sortList from . import mixins -from .pagination import Pagination, JsonPagination +from .pagination import JsonPagination from .response import SuccessResponse -from ..utils.jsonpath_util import get_jsonpath, filter_json, search_json -from ..utils.sort_util import sortList from .views import CustomAPIView diff --git a/dvadmin-backend/apps/vadmin/op_drf/logging/handlers.py b/dvadmin-backend/apps/vadmin/op_drf/logging/handlers.py index a3dc12d..f28a97f 100644 --- a/dvadmin-backend/apps/vadmin/op_drf/logging/handlers.py +++ b/dvadmin-backend/apps/vadmin/op_drf/logging/handlers.py @@ -1,5 +1,4 @@ import logging -from django.core.cache import cache class RedisHandler(logging.StreamHandler): @@ -7,4 +6,3 @@ class RedisHandler(logging.StreamHandler): def emit(self, record): msg = self.format(record) print(msg) - diff --git a/dvadmin-backend/apps/vadmin/op_drf/management/commands/createapp.py b/dvadmin-backend/apps/vadmin/op_drf/management/commands/createapp.py index 644b59f..dcdd3ec 100644 --- a/dvadmin-backend/apps/vadmin/op_drf/management/commands/createapp.py +++ b/dvadmin-backend/apps/vadmin/op_drf/management/commands/createapp.py @@ -40,7 +40,7 @@ class Command(BaseCommand): class {name.capitalize()}Config(AppConfig): - name = '{name}' + name = 'apps.{name}' verbose_name = "{name}App" """ with open(os.path.join(app_path, "apps.py"), 'w', encoding='UTF-8') as f: diff --git a/dvadmin-backend/apps/vadmin/op_drf/middleware.py b/dvadmin-backend/apps/vadmin/op_drf/middleware.py index 8215c24..b3d4110 100644 --- a/dvadmin-backend/apps/vadmin/op_drf/middleware.py +++ b/dvadmin-backend/apps/vadmin/op_drf/middleware.py @@ -9,11 +9,11 @@ from django.conf import settings from django.contrib.auth.models import AnonymousUser from django.utils.deprecation import MiddlewareMixin +from apps.vadmin.op_drf.response import ErrorJsonResponse from apps.vadmin.permission.models import Menu from apps.vadmin.system.models import OperationLog -from ..utils.request_util import get_request_ip, get_request_data, get_request_path, get_browser, get_os, \ +from apps.vadmin.utils.request_util import get_request_ip, get_request_data, get_request_path, get_browser, get_os, \ get_login_location, get_request_canonical_path, get_request_user, get_verbose_name -from ..utils.response import ErrorJsonResponse logger = logging.getLogger(__name__) diff --git a/dvadmin-backend/apps/vadmin/op_drf/mixins.py b/dvadmin-backend/apps/vadmin/op_drf/mixins.py index 92f52bb..a46ff34 100644 --- a/dvadmin-backend/apps/vadmin/op_drf/mixins.py +++ b/dvadmin-backend/apps/vadmin/op_drf/mixins.py @@ -5,9 +5,9 @@ from rest_framework import status from rest_framework.relations import ManyRelatedField, RelatedField, PrimaryKeyRelatedField from rest_framework.request import Request +from apps.vadmin.utils.export_excel import excel_to_data, export_excel_save_model +from apps.vadmin.utils.request_util import get_verbose_name from .response import SuccessResponse -from ..utils.export_excel import excel_to_data, export_excel_save_model -from ..utils.request_util import get_verbose_name class CreateModelMixin(mixins.CreateModelMixin): @@ -317,7 +317,8 @@ class ImportSerializerMixin: # 示例数据 queryset = self.filter_queryset(self.get_queryset()) return SuccessResponse( - export_excel_save_model(request, self.import_field_data.values(), [], f'导入{get_verbose_name(queryset)}模板.xls')) + export_excel_save_model(request, self.import_field_data.values(), [], + f'导入{get_verbose_name(queryset)}模板.xls')) updateSupport = request.data.get('updateSupport') # 从excel中组织对应的数据结构,然后使用序列化器保存 data = excel_to_data(request.data.get('file_url'), self.import_field_data) diff --git a/dvadmin-backend/apps/vadmin/op_drf/pagination.py b/dvadmin-backend/apps/vadmin/op_drf/pagination.py index 9c06b37..778ff19 100644 --- a/dvadmin-backend/apps/vadmin/op_drf/pagination.py +++ b/dvadmin-backend/apps/vadmin/op_drf/pagination.py @@ -1,5 +1,4 @@ from collections import OrderedDict -from typing import Any from rest_framework.pagination import PageNumberPagination, _positive_int from rest_framework.utils.urls import replace_query_param diff --git a/dvadmin-backend/apps/vadmin/op_drf/response.py b/dvadmin-backend/apps/vadmin/op_drf/response.py index 0a486ee..d736aa8 100644 --- a/dvadmin-backend/apps/vadmin/op_drf/response.py +++ b/dvadmin-backend/apps/vadmin/op_drf/response.py @@ -1,7 +1,7 @@ """ 常用的Response以及Django的Response、DRF的Response """ -from django.http.response import DjangoJSONEncoder +from django.http.response import DjangoJSONEncoder, JsonResponse from rest_framework.response import Response @@ -26,13 +26,16 @@ class SuccessResponse(Response): def __init__(self, data=None, msg='success', status=None, template_name=None, headers=None, exception=False, content_type=None): - std_data = { + self.std_data = { "code": 200, "data": data, "msg": msg, "status": 'success' } - super().__init__(std_data, status, template_name, headers, exception, content_type) + super().__init__(self.std_data, status, template_name, headers, exception, content_type) + + def __str__(self): + return str(self.std_data) class ErrorResponse(Response): @@ -43,10 +46,46 @@ class ErrorResponse(Response): def __init__(self, data=None, msg='error', code=201, status=None, template_name=None, headers=None, exception=False, content_type=None): + self.std_data = { + "code": code, + "data": data, + "msg": msg, + "status": 'error' + } + super().__init__(self.std_data, status, template_name, headers, exception, content_type) + + def __str__(self): + return str(self.std_data) + + +class SuccessJsonResponse(JsonResponse): + """ + 标准JsonResponse, SuccessJsonResponse(data)SuccessJsonResponse(data=data) + (1)仅SuccessResponse无法使用时才能推荐使用SuccessJsonResponse + """ + + def __init__(self, data, msg='success', encoder=DjangoJSONEncoder, safe=True, json_dumps_params=None, **kwargs): + std_data = { + "code": 200, + "data": data, + "msg": msg, + "status": 'success' + } + super().__init__(std_data, encoder, safe, json_dumps_params, **kwargs) + + +class ErrorJsonResponse(JsonResponse): + """ + 标准JsonResponse, 仅ErrorResponse无法使用时才能使用ErrorJsonResponse + (1)默认错误码返回2001, 也可以指定其他返回码:ErrorJsonResponse(code=xxx) + """ + + def __init__(self, data, msg='error', code=201, encoder=OpDRFJSONEncoder, safe=True, json_dumps_params=None, + **kwargs): std_data = { "code": code, "data": data, "msg": msg, "status": 'error' } - super().__init__(std_data, status, template_name, headers, exception, content_type) + super().__init__(std_data, encoder, safe, json_dumps_params, **kwargs) diff --git a/dvadmin-backend/apps/vadmin/op_drf/validator.py b/dvadmin-backend/apps/vadmin/op_drf/validator.py index 9ee2459..7a3d0db 100644 --- a/dvadmin-backend/apps/vadmin/op_drf/validator.py +++ b/dvadmin-backend/apps/vadmin/op_drf/validator.py @@ -3,7 +3,7 @@ """ from rest_framework.validators import UniqueValidator, qs_exists -from vadmin.utils.exceptions import APIException +from apps.vadmin.utils.exceptions import APIException class CustomUniqueValidator(UniqueValidator): diff --git a/dvadmin-backend/apps/vadmin/op_drf/views.py b/dvadmin-backend/apps/vadmin/op_drf/views.py index 7f5b455..d896d57 100644 --- a/dvadmin-backend/apps/vadmin/op_drf/views.py +++ b/dvadmin-backend/apps/vadmin/op_drf/views.py @@ -6,11 +6,8 @@ from rest_framework.exceptions import APIException as DRFAPIException from rest_framework.request import Request from rest_framework.views import APIView -from ..utils import exceptions -from ..utils.model_util import ModelRelateUtils -from .logging.view_logger import CustomerRelationshipViewLogger -from .response import SuccessResponse, ErrorResponse -from .serializers import CustomModelSerializer +from apps.vadmin.utils import exceptions +from .response import ErrorResponse logger = logging.getLogger(__name__) diff --git a/dvadmin-backend/apps/vadmin/op_drf/viewsets.py b/dvadmin-backend/apps/vadmin/op_drf/viewsets.py index 5119aa0..aaf8ce3 100644 --- a/dvadmin-backend/apps/vadmin/op_drf/viewsets.py +++ b/dvadmin-backend/apps/vadmin/op_drf/viewsets.py @@ -11,7 +11,7 @@ from rest_framework.request import Request from rest_framework.settings import api_settings from rest_framework.viewsets import ViewSetMixin -from ..utils.exceptions import APIException +from apps.vadmin.utils.exceptions import APIException from . import mixins from .filters import MongoSearchFilter, MongoOrderingFilter, AdvancedSearchFilter, MongoAdvancedSearchFilter from .generics import GenericAPIView diff --git a/dvadmin-backend/apps/vadmin/permission/filters.py b/dvadmin-backend/apps/vadmin/permission/filters.py index 8f8d8da..10ebe37 100644 --- a/dvadmin-backend/apps/vadmin/permission/filters.py +++ b/dvadmin-backend/apps/vadmin/permission/filters.py @@ -1,8 +1,8 @@ import django_filters from django.contrib.auth import get_user_model -from ..permission.models import Menu, Dept, Post, Role -from ..utils.model_util import get_dept +from apps.vadmin.permission.models import Menu, Dept, Post, Role +from apps.vadmin.utils.model_util import get_dept UserProfile = get_user_model() diff --git a/dvadmin-backend/apps/vadmin/permission/management/commands/init.py b/dvadmin-backend/apps/vadmin/permission/management/commands/init.py index ec4a3dc..20487cd 100644 --- a/dvadmin-backend/apps/vadmin/permission/management/commands/init.py +++ b/dvadmin-backend/apps/vadmin/permission/management/commands/init.py @@ -5,7 +5,7 @@ from django.conf import settings from django.core.management.base import BaseCommand from django.db import connection -from ....scripts import getSql +from apps.vadmin.scripts import getSql logger = logging.getLogger(__name__) diff --git a/dvadmin-backend/apps/vadmin/permission/models/__init__.py b/dvadmin-backend/apps/vadmin/permission/models/__init__.py index 1cbbbe2..f2b3ed9 100644 --- a/dvadmin-backend/apps/vadmin/permission/models/__init__.py +++ b/dvadmin-backend/apps/vadmin/permission/models/__init__.py @@ -1,5 +1,5 @@ -from ..models.dept import Dept -from ..models.menu import Menu -from ..models.post import Post -from ..models.role import Role -from ..models.users import UserProfile +from apps.vadmin.permission.models.dept import Dept +from apps.vadmin.permission.models.menu import Menu +from apps.vadmin.permission.models.post import Post +from apps.vadmin.permission.models.role import Role +from apps.vadmin.permission.models.users import UserProfile diff --git a/dvadmin-backend/apps/vadmin/permission/models/dept.py b/dvadmin-backend/apps/vadmin/permission/models/dept.py index a339650..70115c7 100644 --- a/dvadmin-backend/apps/vadmin/permission/models/dept.py +++ b/dvadmin-backend/apps/vadmin/permission/models/dept.py @@ -1,7 +1,7 @@ from django.db.models import CASCADE from django.db.models import CharField, IntegerField, ForeignKey -from ...op_drf.models import CoreModel +from apps.vadmin.op_drf.models import CoreModel class Dept(CoreModel): diff --git a/dvadmin-backend/apps/vadmin/permission/models/menu.py b/dvadmin-backend/apps/vadmin/permission/models/menu.py index d3677fd..7741a8f 100644 --- a/dvadmin-backend/apps/vadmin/permission/models/menu.py +++ b/dvadmin-backend/apps/vadmin/permission/models/menu.py @@ -1,7 +1,7 @@ from django.core.cache import cache from django.db.models import IntegerField, ForeignKey, CharField, CASCADE, Q -from ...op_drf.models import CoreModel +from apps.vadmin.op_drf.models import CoreModel class Menu(CoreModel): diff --git a/dvadmin-backend/apps/vadmin/permission/models/post.py b/dvadmin-backend/apps/vadmin/permission/models/post.py index 6a19477..b736c90 100644 --- a/dvadmin-backend/apps/vadmin/permission/models/post.py +++ b/dvadmin-backend/apps/vadmin/permission/models/post.py @@ -1,6 +1,6 @@ from django.db.models import IntegerField, BooleanField, CharField, TextField -from ...op_drf.models import CoreModel +from apps.vadmin.op_drf.models import CoreModel class Post(CoreModel): diff --git a/dvadmin-backend/apps/vadmin/permission/models/role.py b/dvadmin-backend/apps/vadmin/permission/models/role.py index d34b91e..0a7853d 100644 --- a/dvadmin-backend/apps/vadmin/permission/models/role.py +++ b/dvadmin-backend/apps/vadmin/permission/models/role.py @@ -1,6 +1,6 @@ from django.db.models import IntegerField, BooleanField, CharField, TextField, ManyToManyField -from ...op_drf.models import CoreModel +from apps.vadmin.op_drf.models import CoreModel class Role(CoreModel): @@ -16,7 +16,7 @@ class Role(CoreModel): roleSort = IntegerField(verbose_name="角色顺序") status = CharField(max_length=8, verbose_name="角色状态") admin = BooleanField(default=False, verbose_name="是否为admin") - dataScope = CharField(max_length=8,default='1', choices=DATASCOPE_CHOICES, verbose_name="权限范围",) + dataScope = CharField(max_length=8, default='1', choices=DATASCOPE_CHOICES, verbose_name="权限范围", ) remark = TextField(verbose_name="备注", help_text="备注", null=True, blank=True) dept = ManyToManyField(to='permission.Dept', verbose_name='数据权限-关联部门', db_constraint=False) menu = ManyToManyField(to='permission.Menu', verbose_name='关联菜单权限', db_constraint=False) diff --git a/dvadmin-backend/apps/vadmin/permission/models/users.py b/dvadmin-backend/apps/vadmin/permission/models/users.py index b93849c..9bbacae 100644 --- a/dvadmin-backend/apps/vadmin/permission/models/users.py +++ b/dvadmin-backend/apps/vadmin/permission/models/users.py @@ -5,7 +5,7 @@ from django.contrib.auth.models import UserManager, AbstractUser from django.core.cache import cache from django.db.models import IntegerField, ForeignKey, CharField, TextField, ManyToManyField, CASCADE -from ...op_drf.models import CoreModel +from apps.vadmin.op_drf.models import CoreModel class UserProfile(AbstractUser, CoreModel): @@ -25,7 +25,8 @@ class UserProfile(AbstractUser, CoreModel): user_type = IntegerField(default=0, verbose_name="用户类型") post = ManyToManyField(to='permission.Post', verbose_name='关联岗位', db_constraint=False) role = ManyToManyField(to='permission.Role', verbose_name='关联角色', db_constraint=False) - dept = ForeignKey(to='permission.Dept', verbose_name='归属部门', on_delete=CASCADE, db_constraint=False, null=True, blank=True) + dept = ForeignKey(to='permission.Dept', verbose_name='归属部门', on_delete=CASCADE, db_constraint=False, null=True, + blank=True) @property def get_user_interface_dict(self): diff --git a/dvadmin-backend/apps/vadmin/permission/permissions.py b/dvadmin-backend/apps/vadmin/permission/permissions.py index 3c4f374..95f0053 100644 --- a/dvadmin-backend/apps/vadmin/permission/permissions.py +++ b/dvadmin-backend/apps/vadmin/permission/permissions.py @@ -10,8 +10,8 @@ from rest_framework.permissions import (BasePermission, from rest_framework.request import Request from rest_framework.views import APIView -from .models import Dept -from ..utils.model_util import get_dept +from apps.vadmin.permission.models import Dept +from apps.vadmin.utils.model_util import get_dept logger = logging.getLogger(__name__) User = get_user_model() diff --git a/dvadmin-backend/apps/vadmin/permission/serializers.py b/dvadmin-backend/apps/vadmin/permission/serializers.py index f93212c..cecf118 100644 --- a/dvadmin-backend/apps/vadmin/permission/serializers.py +++ b/dvadmin-backend/apps/vadmin/permission/serializers.py @@ -1,10 +1,10 @@ from django.contrib.auth import get_user_model from rest_framework import serializers -from ..op_drf.serializers import CustomModelSerializer -from ..op_drf.validator import CustomUniqueValidator -from ..permission.models import Menu, Dept, Post, Role -from ..system.models import MessagePush +from apps.vadmin.op_drf.serializers import CustomModelSerializer +from apps.vadmin.op_drf.validator import CustomUniqueValidator +from apps.vadmin.permission.models import Menu, Dept, Post, Role +from apps.vadmin.system.models import MessagePush UserProfile = get_user_model() diff --git a/dvadmin-backend/apps/vadmin/permission/tasks.py b/dvadmin-backend/apps/vadmin/permission/tasks.py index 7da3b18..8f1ac43 100644 --- a/dvadmin-backend/apps/vadmin/permission/tasks.py +++ b/dvadmin-backend/apps/vadmin/permission/tasks.py @@ -3,8 +3,8 @@ import logging from captcha.models import CaptchaStore -from ..utils.decorators import BaseCeleryApp -from ..utils.response import SuccessResponse +from apps.vadmin.utils.decorators import BaseCeleryApp +from apps.vadmin.op_drf.response import SuccessResponse logger = logging.getLogger(__name__) @BaseCeleryApp(name='apps.vadmin.permission.tasks.clear_invalid_captcha') diff --git a/dvadmin-backend/apps/vadmin/permission/urls.py b/dvadmin-backend/apps/vadmin/permission/urls.py index 4f40dda..e6feece 100644 --- a/dvadmin-backend/apps/vadmin/permission/urls.py +++ b/dvadmin-backend/apps/vadmin/permission/urls.py @@ -1,7 +1,7 @@ from django.urls import re_path from rest_framework.routers import DefaultRouter -from ..permission.views import MenuModelViewSet, DeptModelViewSet, PostModelViewSet, RoleModelViewSet, \ +from apps.vadmin.permission.views import MenuModelViewSet, DeptModelViewSet, PostModelViewSet, RoleModelViewSet, \ UserProfileModelViewSet router = DefaultRouter() diff --git a/dvadmin-backend/apps/vadmin/permission/views.py b/dvadmin-backend/apps/vadmin/permission/views.py index f11def9..a8129d0 100644 --- a/dvadmin-backend/apps/vadmin/permission/views.py +++ b/dvadmin-backend/apps/vadmin/permission/views.py @@ -2,18 +2,18 @@ from django.contrib.auth import authenticate, get_user_model from rest_framework.request import Request from rest_framework.views import APIView -from .permissions import CommonPermission, DeptDestroyPermission -from ..op_drf.filters import DataLevelPermissionsFilter -from ..op_drf.viewsets import CustomModelViewSet -from ..permission.filters import MenuFilter, DeptFilter, PostFilter, RoleFilter, UserProfileFilter -from ..permission.models import Role, Menu, Dept, Post -from ..permission.serializers import UserProfileSerializer, MenuSerializer, RoleSerializer, \ +from apps.vadmin.op_drf.response import SuccessResponse, ErrorResponse +from apps.vadmin.permission.permissions import CommonPermission, DeptDestroyPermission +from apps.vadmin.op_drf.filters import DataLevelPermissionsFilter +from apps.vadmin.op_drf.viewsets import CustomModelViewSet +from apps.vadmin.permission.filters import MenuFilter, DeptFilter, PostFilter, RoleFilter, UserProfileFilter +from apps.vadmin.permission.models import Role, Menu, Dept, Post +from apps.vadmin.permission.serializers import UserProfileSerializer, MenuSerializer, RoleSerializer, \ MenuCreateUpdateSerializer, DeptSerializer, DeptCreateUpdateSerializer, PostSerializer, PostCreateUpdateSerializer, \ RoleCreateUpdateSerializer, DeptTreeSerializer, MenuTreeSerializer, UserProfileCreateUpdateSerializer, \ PostSimpleSerializer, RoleSimpleSerializer, ExportUserProfileSerializer, ExportRoleSerializer, ExportPostSerializer, \ UserProfileImportSerializer -from ..system.models import DictDetails -from ..utils.response import SuccessResponse, ErrorResponse +from apps.vadmin.system.models import DictDetails UserProfile = get_user_model() diff --git a/dvadmin-backend/apps/vadmin/system/apps.py b/dvadmin-backend/apps/vadmin/system/apps.py index db16c07..0f61048 100644 --- a/dvadmin-backend/apps/vadmin/system/apps.py +++ b/dvadmin-backend/apps/vadmin/system/apps.py @@ -2,5 +2,5 @@ from django.apps import AppConfig class SystemConfig(AppConfig): - name = 'vadmin.system' + name = 'apps.vadmin.system' verbose_name = "系统管理" diff --git a/dvadmin-backend/apps/vadmin/system/filters.py b/dvadmin-backend/apps/vadmin/system/filters.py index e91edaa..ae12133 100644 --- a/dvadmin-backend/apps/vadmin/system/filters.py +++ b/dvadmin-backend/apps/vadmin/system/filters.py @@ -1,7 +1,7 @@ import django_filters -from .models import LoginInfor, OperationLog, CeleryLog -from ..system.models import DictDetails, DictData, ConfigSettings, MessagePush, SaveFile +from apps.vadmin.system.models import DictDetails, DictData, ConfigSettings, MessagePush, SaveFile +from apps.vadmin.system.models import LoginInfor, OperationLog, CeleryLog class DictDataFilter(django_filters.rest_framework.FilterSet): diff --git a/dvadmin-backend/apps/vadmin/system/models/__init__.py b/dvadmin-backend/apps/vadmin/system/models/__init__.py index 1c100d6..d0ebd20 100644 --- a/dvadmin-backend/apps/vadmin/system/models/__init__.py +++ b/dvadmin-backend/apps/vadmin/system/models/__init__.py @@ -1,10 +1,9 @@ -from ..models.config_settings import ConfigSettings -from ..models.dict_data import DictData -from ..models.dict_details import DictDetails -from ..models.save_file import SaveFile -from ..models.message_push import MessagePush -from ..models.message_push import MessagePushUser -from ..models.logininfor import LoginInfor -from ..models.operation_log import OperationLog -from ..models.celery_log import CeleryLog - +from apps.vadmin.system.models.celery_log import CeleryLog +from apps.vadmin.system.models.config_settings import ConfigSettings +from apps.vadmin.system.models.dict_data import DictData +from apps.vadmin.system.models.dict_details import DictDetails +from apps.vadmin.system.models.logininfor import LoginInfor +from apps.vadmin.system.models.message_push import MessagePush +from apps.vadmin.system.models.message_push import MessagePushUser +from apps.vadmin.system.models.operation_log import OperationLog +from apps.vadmin.system.models.save_file import SaveFile diff --git a/dvadmin-backend/apps/vadmin/system/models/celery_log.py b/dvadmin-backend/apps/vadmin/system/models/celery_log.py index ee73430..f7b97b0 100644 --- a/dvadmin-backend/apps/vadmin/system/models/celery_log.py +++ b/dvadmin-backend/apps/vadmin/system/models/celery_log.py @@ -1,6 +1,6 @@ from django.db.models import CharField, BooleanField, TextField -from ...op_drf.models import CoreModel +from apps.vadmin.op_drf.models import CoreModel class CeleryLog(CoreModel): diff --git a/dvadmin-backend/apps/vadmin/system/models/config_settings.py b/dvadmin-backend/apps/vadmin/system/models/config_settings.py index b4f6f87..8fd5b3b 100644 --- a/dvadmin-backend/apps/vadmin/system/models/config_settings.py +++ b/dvadmin-backend/apps/vadmin/system/models/config_settings.py @@ -1,6 +1,6 @@ from django.db.models import CharField, ForeignKey, BooleanField, CASCADE -from ...op_drf.models import CoreModel +from apps.vadmin.op_drf.models import CoreModel class ConfigSettings(CoreModel): diff --git a/dvadmin-backend/apps/vadmin/system/models/dict_data.py b/dvadmin-backend/apps/vadmin/system/models/dict_data.py index 483b8f2..7dab886 100644 --- a/dvadmin-backend/apps/vadmin/system/models/dict_data.py +++ b/dvadmin-backend/apps/vadmin/system/models/dict_data.py @@ -1,6 +1,6 @@ from django.db.models import TextField, CharField,ForeignKey -from ...op_drf.models import CoreModel +from apps.vadmin.op_drf.models import CoreModel class DictData(CoreModel): diff --git a/dvadmin-backend/apps/vadmin/system/models/dict_details.py b/dvadmin-backend/apps/vadmin/system/models/dict_details.py index 8cf18ac..58e2462 100644 --- a/dvadmin-backend/apps/vadmin/system/models/dict_details.py +++ b/dvadmin-backend/apps/vadmin/system/models/dict_details.py @@ -1,6 +1,6 @@ from django.db.models import CharField, ForeignKey, BooleanField, CASCADE -from ...op_drf.models import CoreModel +from apps.vadmin.op_drf.models import CoreModel class DictDetails(CoreModel): diff --git a/dvadmin-backend/apps/vadmin/system/models/logininfor.py b/dvadmin-backend/apps/vadmin/system/models/logininfor.py index a1fb94f..bd06f5b 100644 --- a/dvadmin-backend/apps/vadmin/system/models/logininfor.py +++ b/dvadmin-backend/apps/vadmin/system/models/logininfor.py @@ -1,6 +1,6 @@ from django.db.models import CharField, BooleanField, TextField -from ...op_drf.models import CoreModel +from apps.vadmin.op_drf.models import CoreModel class LoginInfor(CoreModel): diff --git a/dvadmin-backend/apps/vadmin/system/models/message_push.py b/dvadmin-backend/apps/vadmin/system/models/message_push.py index 37bc089..1b996f7 100644 --- a/dvadmin-backend/apps/vadmin/system/models/message_push.py +++ b/dvadmin-backend/apps/vadmin/system/models/message_push.py @@ -2,8 +2,8 @@ from django.conf import settings from django.db import models from django.db.models import * -from ...op_drf.fields import UpdateDateTimeField, CreateDateTimeField -from ...op_drf.models import CoreModel +from apps.vadmin.op_drf.fields import UpdateDateTimeField, CreateDateTimeField +from apps.vadmin.op_drf.models import CoreModel """ 消息通知模型 diff --git a/dvadmin-backend/apps/vadmin/system/models/operation_log.py b/dvadmin-backend/apps/vadmin/system/models/operation_log.py index 9257e9a..e9e9d12 100644 --- a/dvadmin-backend/apps/vadmin/system/models/operation_log.py +++ b/dvadmin-backend/apps/vadmin/system/models/operation_log.py @@ -1,6 +1,6 @@ from django.db.models import TextField, CharField, BooleanField -from ...op_drf.models import CoreModel +from apps.vadmin.op_drf.models import CoreModel class OperationLog(CoreModel): @@ -12,7 +12,7 @@ class OperationLog(CoreModel): request_ip = CharField(max_length=32, verbose_name="请求ip地址", null=True, blank=True) request_browser = CharField(max_length=64, verbose_name="请求浏览器", null=True, blank=True) response_code = CharField(max_length=32, verbose_name="响应状态码", null=True, blank=True) - request_location = CharField(max_length=64,verbose_name="操作地点", null=True, blank=True) + request_location = CharField(max_length=64, verbose_name="操作地点", null=True, blank=True) request_os = CharField(max_length=64, verbose_name="操作系统", null=True, blank=True) json_result = TextField(verbose_name="返回信息", null=True, blank=True) status = BooleanField(default=False, verbose_name="响应状态") diff --git a/dvadmin-backend/apps/vadmin/system/models/save_file.py b/dvadmin-backend/apps/vadmin/system/models/save_file.py index 30407cf..9898a74 100644 --- a/dvadmin-backend/apps/vadmin/system/models/save_file.py +++ b/dvadmin-backend/apps/vadmin/system/models/save_file.py @@ -1,10 +1,10 @@ import os import uuid -from django.db.models import CharField, FileField,BooleanField +from django.db.models import CharField, FileField, BooleanField from django.utils import timezone -from ...op_drf.models import CoreModel +from apps.vadmin.op_drf.models import CoreModel def files_path(instance, filename): diff --git a/dvadmin-backend/apps/vadmin/system/serializers.py b/dvadmin-backend/apps/vadmin/system/serializers.py index e967d1e..2f46ac3 100644 --- a/dvadmin-backend/apps/vadmin/system/serializers.py +++ b/dvadmin-backend/apps/vadmin/system/serializers.py @@ -1,9 +1,9 @@ from django.core.cache import cache from rest_framework import serializers -from .models import LoginInfor, OperationLog, CeleryLog -from ..op_drf.serializers import CustomModelSerializer -from ..system.models import DictData, DictDetails, ConfigSettings, SaveFile, MessagePush, MessagePushUser +from apps.vadmin.op_drf.serializers import CustomModelSerializer +from apps.vadmin.system.models import DictData, DictDetails, ConfigSettings, SaveFile, MessagePush, MessagePushUser +from apps.vadmin.system.models import LoginInfor, OperationLog, CeleryLog # ================================================= # diff --git a/dvadmin-backend/apps/vadmin/system/urls.py b/dvadmin-backend/apps/vadmin/system/urls.py index 654bac5..e66ef2a 100644 --- a/dvadmin-backend/apps/vadmin/system/urls.py +++ b/dvadmin-backend/apps/vadmin/system/urls.py @@ -1,7 +1,7 @@ from django.urls import re_path from rest_framework.routers import DefaultRouter -from ..system.views import DictDataModelViewSet, DictDetailsModelViewSet, \ +from apps.vadmin.system.views import DictDataModelViewSet, DictDetailsModelViewSet, \ ConfigSettingsModelViewSet, SaveFileModelViewSet, MessagePushModelViewSet, LoginInforModelViewSet, \ OperationLogModelViewSet, CeleryLogModelViewSet, SystemInfoApiView diff --git a/dvadmin-backend/apps/vadmin/system/views.py b/dvadmin-backend/apps/vadmin/system/views.py index c2d716b..b80c4de 100644 --- a/dvadmin-backend/apps/vadmin/system/views.py +++ b/dvadmin-backend/apps/vadmin/system/views.py @@ -6,25 +6,25 @@ from django.db.models import Q from rest_framework.request import Request from rest_framework.views import APIView -from .models import LoginInfor, OperationLog, CeleryLog -from ..op_drf.filters import DataLevelPermissionsFilter -from ..op_drf.viewsets import CustomModelViewSet -from ..permission.permissions import CommonPermission -from ..system.filters import DictDetailsFilter, DictDataFilter, ConfigSettingsFilter, MessagePushFilter, \ +from apps.vadmin.op_drf.filters import DataLevelPermissionsFilter +from apps.vadmin.op_drf.response import SuccessResponse +from apps.vadmin.op_drf.viewsets import CustomModelViewSet +from apps.vadmin.permission.permissions import CommonPermission +from apps.vadmin.system.filters import DictDetailsFilter, DictDataFilter, ConfigSettingsFilter, MessagePushFilter, \ SaveFileFilter, LoginInforFilter, OperationLogFilter, CeleryLogFilter -from ..system.models import DictData, DictDetails, ConfigSettings, SaveFile, MessagePush -from ..system.models import MessagePushUser -from ..system.serializers import DictDataSerializer, DictDataCreateUpdateSerializer, DictDetailsSerializer, \ +from apps.vadmin.system.models import DictData, DictDetails, ConfigSettings, SaveFile, MessagePush +from apps.vadmin.system.models import LoginInfor, OperationLog, CeleryLog +from apps.vadmin.system.models import MessagePushUser +from apps.vadmin.system.serializers import DictDataSerializer, DictDataCreateUpdateSerializer, DictDetailsSerializer, \ DictDetailsCreateUpdateSerializer, ConfigSettingsSerializer, \ ConfigSettingsCreateUpdateSerializer, SaveFileSerializer, SaveFileCreateUpdateSerializer, \ ExportConfigSettingsSerializer, ExportDictDataSerializer, ExportDictDetailsSerializer, \ MessagePushSerializer, MessagePushCreateUpdateSerializer, ExportMessagePushSerializer, LoginInforSerializer, \ OperationLogSerializer, ExportOperationLogSerializer, ExportLoginInforSerializer, CeleryLogSerializer, \ ExportCeleryLogSerializer -from ..utils.export_excel import export_excel_save_model -from ..utils.file_util import get_all_files, remove_empty_dir, delete_files -from ..utils.response import SuccessResponse -from ..utils.system_info_utils import get_memory_used_percent, get_cpu_used_percent, get_disk_used_percent +from apps.vadmin.utils.export_excel import export_excel_save_model +from apps.vadmin.utils.file_util import get_all_files, remove_empty_dir, delete_files +from apps.vadmin.utils.system_info_utils import get_memory_used_percent, get_cpu_used_percent, get_disk_used_percent class DictDataModelViewSet(CustomModelViewSet): diff --git a/dvadmin-backend/apps/vadmin/template/apps.py b/dvadmin-backend/apps/vadmin/template/apps.py index de74370..ea04cd1 100644 --- a/dvadmin-backend/apps/vadmin/template/apps.py +++ b/dvadmin-backend/apps/vadmin/template/apps.py @@ -2,5 +2,5 @@ from django.apps import AppConfig class TemplateConfig(AppConfig): - name = 'vadmin.template' + name = 'apps.vadmin.template' verbose_name = "模板App" diff --git a/dvadmin-backend/apps/vadmin/urls.py b/dvadmin-backend/apps/vadmin/urls.py index e1354f6..ce12d06 100644 --- a/dvadmin-backend/apps/vadmin/urls.py +++ b/dvadmin-backend/apps/vadmin/urls.py @@ -22,9 +22,9 @@ from django.urls import re_path, include from rest_framework.documentation import include_docs_urls from rest_framework.views import APIView -from .permission.views import GetUserProfileView, GetRouters -from .utils.login import LoginView, LogoutView -from .utils.response import SuccessResponse +from apps.vadmin.permission.views import GetUserProfileView, GetRouters +from apps.vadmin.utils.login import LoginView, LogoutView +from apps.vadmin.op_drf.response import SuccessResponse class CaptchaRefresh(APIView): diff --git a/dvadmin-backend/apps/vadmin/utils/authentication.py b/dvadmin-backend/apps/vadmin/utils/authentication.py index 4a51ca5..a017e1c 100644 --- a/dvadmin-backend/apps/vadmin/utils/authentication.py +++ b/dvadmin-backend/apps/vadmin/utils/authentication.py @@ -12,8 +12,8 @@ from django.utils.translation import ugettext as _ from rest_framework import exceptions from rest_framework_jwt.utils import jwt_decode_handler -from .jwt_util import jwt_get_session_id -from ..permission.models.users import UserProfile +from apps.vadmin.permission.models.users import UserProfile +from apps.vadmin.utils.jwt_util import jwt_get_session_id logger = logging.getLogger(__name__) User = get_user_model() diff --git a/dvadmin-backend/apps/vadmin/utils/backends.py b/dvadmin-backend/apps/vadmin/utils/backends.py index 8e6e920..19df563 100644 --- a/dvadmin-backend/apps/vadmin/utils/backends.py +++ b/dvadmin-backend/apps/vadmin/utils/backends.py @@ -1,13 +1,10 @@ import logging -from captcha.models import CaptchaStore -from django.conf import settings from django.contrib.auth import get_user_model from django.contrib.auth.backends import ModelBackend from django.utils import timezone from rest_framework.authentication import SessionAuthentication as DjangoSessionAuthentication - logger = logging.getLogger(__name__) UserModel = get_user_model() diff --git a/dvadmin-backend/apps/vadmin/utils/decorators.py b/dvadmin-backend/apps/vadmin/utils/decorators.py index 48b7868..af18f5f 100644 --- a/dvadmin-backend/apps/vadmin/utils/decorators.py +++ b/dvadmin-backend/apps/vadmin/utils/decorators.py @@ -15,8 +15,8 @@ from rest_framework.response import Response from rest_framework_extensions.settings import extensions_api_settings from application.celery import app -from .string_util import bas64_encode_text, bas64_decode_text -from ..system.models import CeleryLog +from apps.vadmin.system.models import CeleryLog +from apps.vadmin.utils.string_util import bas64_encode_text, bas64_decode_text def get_cache(alias=None): @@ -34,12 +34,13 @@ def BaseCeleryApp(name, save_success_logs=True): :param save_success_logs: 是否保存成功的日志(适用于频率高的celery任务,成功不需要保存日志,则传False) :return: """ + def wraps(func): @app.task(name=name) @functools.wraps(func) def wrapper(*args, **kwargs): obj = CeleryLog() - obj.name = ''.join(str(func.__doc__).replace(' ','').split('\n')[:2]) + obj.name = ''.join(str(func.__doc__).replace(' ', '').split('\n')[:2]) obj.func_name = str(func.__name__) obj.kwargs = f"*args:{args}\n**kwargs:{kwargs}" start_time = datetime.now() diff --git a/dvadmin-backend/apps/vadmin/utils/exceptions.py b/dvadmin-backend/apps/vadmin/utils/exceptions.py index f018592..b68f4a0 100644 --- a/dvadmin-backend/apps/vadmin/utils/exceptions.py +++ b/dvadmin-backend/apps/vadmin/utils/exceptions.py @@ -4,8 +4,7 @@ import traceback from rest_framework import exceptions from rest_framework.views import set_rollback -from .request_util import get_verbose_name -from .response import ErrorResponse +from apps.vadmin.op_drf.response import ErrorResponse logger = logging.getLogger(__name__) diff --git a/dvadmin-backend/apps/vadmin/utils/export_excel.py b/dvadmin-backend/apps/vadmin/utils/export_excel.py index eda0567..d84f19c 100644 --- a/dvadmin-backend/apps/vadmin/utils/export_excel.py +++ b/dvadmin-backend/apps/vadmin/utils/export_excel.py @@ -7,8 +7,8 @@ import xlrd import xlwt from django.conf import settings -from ..system.models import SaveFile -from ..system.serializers import SaveFileSerializer +from apps.vadmin.system.models import SaveFile +from apps.vadmin.system.serializers import SaveFileSerializer def len_byte(value): diff --git a/dvadmin-backend/apps/vadmin/utils/login.py b/dvadmin-backend/apps/vadmin/utils/login.py index 4e83c91..bd82690 100644 --- a/dvadmin-backend/apps/vadmin/utils/login.py +++ b/dvadmin-backend/apps/vadmin/utils/login.py @@ -10,12 +10,11 @@ from rest_framework.permissions import IsAuthenticated from rest_framework.views import APIView from rest_framework_jwt.views import ObtainJSONWebToken, jwt_response_payload_handler -from .exceptions import GenException -from .jwt_util import jwt_get_session_id -from .request_util import get_request_ip, get_os, get_browser, get_login_location -from .response import SuccessResponse, ErrorResponse -# from .jwt_util import jwt_response_payload_handler -from ..system.models.logininfor import LoginInfor +from apps.vadmin.system.models.logininfor import LoginInfor +from apps.vadmin.utils.exceptions import GenException +from apps.vadmin.utils.jwt_util import jwt_get_session_id +from apps.vadmin.utils.request_util import get_request_ip, get_os, get_browser, get_login_location +from apps.vadmin.op_drf.response import SuccessResponse, ErrorResponse logger = logging.getLogger(__name__) @@ -62,7 +61,7 @@ class LoginView(ObtainJSONWebToken): else: raise GenException(message='验证码错误') - def save_login_infor(self, request, msg='',status=True,session_id=''): + def save_login_infor(self, request, msg='', status=True, session_id=''): User = get_user_model() instance = LoginInfor() instance.session_id = session_id @@ -89,7 +88,7 @@ class LoginView(ObtainJSONWebToken): session_id = jwt_get_session_id(token) key = f"{self.prefix}_{session_id}_{username}" cache.set(key, token, self.ex.total_seconds()) - self.save_login_infor(request, '登录成功',session_id=session_id) + self.save_login_infor(request, '登录成功', session_id=session_id) if self.JWT_AUTH_COOKIE and token: expiration = (datetime.datetime.utcnow() + self.ex) response.set_cookie(self.JWT_AUTH_COOKIE, @@ -98,7 +97,7 @@ class LoginView(ObtainJSONWebToken): domain=settings.SESSION_COOKIE_DOMAIN, httponly=False) return response - self.save_login_infor(request, '登录失败,账户/密码不正确',False) + self.save_login_infor(request, '登录失败,账户/密码不正确', False) return ErrorResponse(data=serializer.errors, msg='账户/密码不正确') # def handle_exception(self, exc): diff --git a/dvadmin-backend/apps/vadmin/utils/model_util.py b/dvadmin-backend/apps/vadmin/utils/model_util.py index e05094a..1de17ab 100644 --- a/dvadmin-backend/apps/vadmin/utils/model_util.py +++ b/dvadmin-backend/apps/vadmin/utils/model_util.py @@ -6,7 +6,7 @@ from django.apps.config import AppConfig from django.db.models.fields import Field from rest_framework.renderers import JSONRenderer -from ..permission.models import Dept +from apps.vadmin.permission.models import Dept def get_primary_field(model, many=False): diff --git a/dvadmin-backend/apps/vadmin/utils/response.py b/dvadmin-backend/apps/vadmin/utils/response.py deleted file mode 100644 index ccfb35d..0000000 --- a/dvadmin-backend/apps/vadmin/utils/response.py +++ /dev/null @@ -1,91 +0,0 @@ -""" -常用的Response以及Django的Response、DRF的Response -""" -from django.http.response import DjangoJSONEncoder, JsonResponse -from rest_framework.response import Response - - -class OpDRFJSONEncoder(DjangoJSONEncoder): - """ - 重写DjangoJSONEncoder - (1)默认返回支持中文格式的json字符串 - """ - - def __init__(self, *, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, sort_keys=False, - indent=None, separators=None, default=None): - super().__init__(skipkeys=skipkeys, ensure_ascii=False, check_circular=check_circular, - allow_nan=allow_nan, sort_keys=sort_keys, indent=indent, separators=separators, - default=default) - - -class SuccessResponse(Response): - """ - 标准响应成功的返回, SuccessResponse(data)或者SuccessResponse(data=data) - (1)默认错误码返回2000, 不支持指定其他返回码 - """ - - def __init__(self, data=None, msg='success', status=None, template_name=None, headers=None, exception=False, - content_type=None): - self.std_data = { - "code": 200, - "data": data, - "msg": msg, - "status": 'success' - } - super().__init__(self.std_data, status, template_name, headers, exception, content_type) - - def __str__(self): - return str(self.std_data) - - -class ErrorResponse(Response): - """ - 标准响应错误的返回,ErrorResponse(msg='xxx') - (1)默认错误码返回2001, 也可以指定其他返回码:ErrorResponse(code=xxx) - """ - - def __init__(self, data=None, msg='error', code=201, status=None, template_name=None, headers=None, - exception=False, content_type=None): - self.std_data = { - "code": code, - "data": data, - "msg": msg, - "status": 'error' - } - super().__init__(self.std_data, status, template_name, headers, exception, content_type) - - def __str__(self): - return str(self.std_data) - - -class SuccessJsonResponse(JsonResponse): - """ - 标准JsonResponse, SuccessJsonResponse(data)SuccessJsonResponse(data=data) - (1)仅SuccessResponse无法使用时才能推荐使用SuccessJsonResponse - """ - - def __init__(self, data, msg='success', encoder=DjangoJSONEncoder, safe=True, json_dumps_params=None, **kwargs): - std_data = { - "code": 200, - "data": data, - "msg": msg, - "status": 'success' - } - super().__init__(std_data, encoder, safe, json_dumps_params, **kwargs) - - -class ErrorJsonResponse(JsonResponse): - """ - 标准JsonResponse, 仅ErrorResponse无法使用时才能使用ErrorJsonResponse - (1)默认错误码返回2001, 也可以指定其他返回码:ErrorJsonResponse(code=xxx) - """ - - def __init__(self, data, msg='error', code=201, encoder=OpDRFJSONEncoder, safe=True, json_dumps_params=None, - **kwargs): - std_data = { - "code": code, - "data": data, - "msg": msg, - "status": 'error' - } - super().__init__(std_data, encoder, safe, json_dumps_params, **kwargs)