diff --git a/dvadmin-backend/apps/vadmin/logurus/test.py b/dvadmin-backend/apps/vadmin/logurus/test.py deleted file mode 100644 index d48c393..0000000 --- a/dvadmin-backend/apps/vadmin/logurus/test.py +++ /dev/null @@ -1,31 +0,0 @@ -from logging import StreamHandler, getLevelName -from logging.handlers import RotatingFileHandler -from typing import Optional, IO - - -class MyStreamHandler(StreamHandler): - - def __init__(self, stream: Optional[IO[str]] = ...) -> None: - print(222) - super().__init__(stream) - - def __repr__(self): - level = getLevelName(self.level) - name = getattr(self.stream, 'name', '') - # bpo-36015: name can be an int - name = str(name) - if name: - name += ' ' - print(111) - return '<%s %s(%s)>' % (self.__class__.__name__, name, level) -class MyRotatingFileHandler(RotatingFileHandler): - - def __init__(self, filename: str, mode: str = ..., maxBytes: int = ..., backupCount: int = ..., - encoding: Optional[str] = ..., delay: bool = ...) -> None: - print(4444) - super().__init__(filename, mode, maxBytes, backupCount, encoding, delay) - - def __repr__(self): - level = getLevelName(self.level) - print(22) - return '<%s %s (%s)>' % (self.__class__.__name__, self.baseFilename, level) diff --git a/dvadmin-backend/apps/vadmin/op_drf/management/__init__.py b/dvadmin-backend/apps/vadmin/op_drf/management/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/dvadmin-backend/apps/vadmin/op_drf/management/commands/__init__.py b/dvadmin-backend/apps/vadmin/op_drf/management/commands/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/dvadmin-backend/apps/vadmin/op_drf/management/commands/createapp.py b/dvadmin-backend/apps/vadmin/op_drf/management/commands/createapp.py new file mode 100644 index 0000000..644b59f --- /dev/null +++ b/dvadmin-backend/apps/vadmin/op_drf/management/commands/createapp.py @@ -0,0 +1,75 @@ +import logging +import os +import shutil + +from django.core.management.base import BaseCommand + +logger = logging.getLogger(__name__) +from application.settings import BASE_DIR + + +class Command(BaseCommand): + """ + 创建App命令: + python manage.py createapp app名 + python manage.py createapp app01 app02 ... + """ + + def add_arguments(self, parser): + parser.add_argument('app_name', nargs='*', type=str, ) + + def handle(self, *args, **options): + app_name = options.get('app_name') + for name in app_name: + app_path = os.path.join(BASE_DIR, "apps", name) + # 判断app是否存在 + if os.path.exists(app_path): + print(f"创建失败,App {name} 已存在!") + break + source_path = os.path.join(BASE_DIR, "apps", "vadmin", "template") + target_path = app_path + if not os.path.exists(target_path): + # 如果目标路径不存在原文件夹的话就创建 + os.makedirs(target_path) + if os.path.exists(source_path): + # 如果目标路径存在原文件夹的话就先删除 + shutil.rmtree(target_path) + shutil.copytree(source_path, target_path) + # 修改app中的apps 内容 + content = f"""from django.apps import AppConfig + + +class {name.capitalize()}Config(AppConfig): + name = '{name}' + verbose_name = "{name}App" +""" + with open(os.path.join(app_path, "apps.py"), 'w', encoding='UTF-8') as f: + f.write(content) + f.close() + # 注册app到 settings.py 中 + injection(os.path.join(BASE_DIR, "application", "settings.py"), f" 'apps.{name}',\n", "INSTALLED_APPS", + "]") + + # 注册app到 urls.py 中 + injection(os.path.join(BASE_DIR, "application", "urls.py"), + f" re_path(r'^{name}/', include('apps.{name}.urls')),\n", "urlpatterns = [", + "]") + + print(f"创建 {name} App成功") + + +def injection(file_path, insert_content, startswith, endswith): + with open(file_path, "r+", encoding="utf-8") as f: + data = f.readlines() + with open(file_path, 'w', encoding='UTF-8') as f1: + is_INSTALLED_APPS = False + is_insert = False + for content in data: + # 判断文件是否 INSTALLED_APPS 开头 + if not is_insert and content.startswith(startswith): + is_INSTALLED_APPS = True + if not is_insert and content.startswith(endswith) and is_INSTALLED_APPS: + # 给前一行插入数据 + content = insert_content + content + is_insert = True + f1.writelines(content) diff --git a/dvadmin-backend/apps/vadmin/permission/management/commands/init.py b/dvadmin-backend/apps/vadmin/permission/management/commands/init.py index 3db4d21..ec4a3dc 100644 --- a/dvadmin-backend/apps/vadmin/permission/management/commands/init.py +++ b/dvadmin-backend/apps/vadmin/permission/management/commands/init.py @@ -12,7 +12,7 @@ logger = logging.getLogger(__name__) class Command(BaseCommand): """ - 项目初始化命令: python manage.py initialization + 项目初始化命令: python manage.py init """ def customSql(self, sql_list, model_name, table_name, is_yes): diff --git a/dvadmin-backend/apps/vadmin/system/apps.py b/dvadmin-backend/apps/vadmin/system/apps.py index b5f214a..db16c07 100644 --- a/dvadmin-backend/apps/vadmin/system/apps.py +++ b/dvadmin-backend/apps/vadmin/system/apps.py @@ -1,6 +1,6 @@ from django.apps import AppConfig -class PermissionConfig(AppConfig): +class SystemConfig(AppConfig): name = 'vadmin.system' - verbose_name = "权限管理" + verbose_name = "系统管理" diff --git a/dvadmin-backend/apps/vadmin/template/__init__.py b/dvadmin-backend/apps/vadmin/template/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/dvadmin-backend/apps/vadmin/template/admin.py b/dvadmin-backend/apps/vadmin/template/admin.py new file mode 100644 index 0000000..e69de29 diff --git a/dvadmin-backend/apps/vadmin/template/apps.py b/dvadmin-backend/apps/vadmin/template/apps.py new file mode 100644 index 0000000..de74370 --- /dev/null +++ b/dvadmin-backend/apps/vadmin/template/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class TemplateConfig(AppConfig): + name = 'vadmin.template' + verbose_name = "模板App" diff --git a/dvadmin-backend/apps/vadmin/template/filters.py b/dvadmin-backend/apps/vadmin/template/filters.py new file mode 100644 index 0000000..e69de29 diff --git a/dvadmin-backend/apps/vadmin/template/migrations/__init__.py b/dvadmin-backend/apps/vadmin/template/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/dvadmin-backend/apps/vadmin/template/models/__init__.py b/dvadmin-backend/apps/vadmin/template/models/__init__.py new file mode 100644 index 0000000..22e8e28 --- /dev/null +++ b/dvadmin-backend/apps/vadmin/template/models/__init__.py @@ -0,0 +1,2 @@ +# from ..models.xxx import Xxx + diff --git a/dvadmin-backend/apps/vadmin/template/serializers.py b/dvadmin-backend/apps/vadmin/template/serializers.py new file mode 100644 index 0000000..e69de29 diff --git a/dvadmin-backend/apps/vadmin/template/tasks.py b/dvadmin-backend/apps/vadmin/template/tasks.py new file mode 100644 index 0000000..e69de29 diff --git a/dvadmin-backend/apps/vadmin/template/tests.py b/dvadmin-backend/apps/vadmin/template/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/dvadmin-backend/apps/vadmin/template/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/dvadmin-backend/apps/vadmin/template/urls.py b/dvadmin-backend/apps/vadmin/template/urls.py new file mode 100644 index 0000000..637600f --- /dev/null +++ b/dvadmin-backend/apps/vadmin/template/urls.py @@ -0,0 +1 @@ +urlpatterns = [] diff --git a/dvadmin-backend/apps/vadmin/template/views.py b/dvadmin-backend/apps/vadmin/template/views.py new file mode 100644 index 0000000..e69de29