diff --git a/DjangoAdmin_Django_AntdVue/zh/course.md b/DjangoAdmin_Django_AntdVue/zh/course.md index 6523ab2..fff9470 100644 --- a/DjangoAdmin_Django_AntdVue/zh/course.md +++ b/DjangoAdmin_Django_AntdVue/zh/course.md @@ -95,7 +95,7 @@ DJANGO_DEMO=False # ==================== 数据库配置 ==================== DATABASE_ENGINE=django.db.backends.mysql -DATABASE_NAME=djangoadmin.django.elevue +DATABASE_NAME=djangoadmin.django.antdvue DATABASE_HOST=127.0.0.1 DATABASE_PORT=3306 DATABASE_USER=root @@ -109,13 +109,13 @@ REDIS_PASSWORD=your_redis_password REDIS_DB=0 # ==================== 文件配置 ==================== -DJANGO_FILE_URL=http://file.django.elevue +DJANGO_FILE_URL=http://file.django.antdvue ``` :::danger 重要提示 `DATABASE_NAME` 需要提前在 MySQL 中创建对应的数据库: ```sql -CREATE DATABASE `djangoadmin.django.elevue` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; +CREATE DATABASE `djangoadmin.django.antdvue` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; ``` ::: diff --git a/DjangoAdmin_Django_AntdVue/zh/introduction.md b/DjangoAdmin_Django_AntdVue/zh/introduction.md index d40f7ff..92e1bc6 100644 --- a/DjangoAdmin_Django_AntdVue/zh/introduction.md +++ b/DjangoAdmin_Django_AntdVue/zh/introduction.md @@ -56,8 +56,8 @@ + 软件作者:@小蚂蚁云团队 + 软件协议:Apache-2.0 + 官网网址:[https://www.djangoadmin.cn](https://www.djangoadmin.cn) -+ 文档网址:[http://docs.django.elevue.djangoadmin.cn](http://docs.django.elevue.djangoadmin.cn) -+ 演示地址:[http://manage.django.elevue.djangoadmin.cn](http://manage.django.elevue.djangoadmin.cn) ++ 文档网址:[http://docs.django.antdvue.djangoadmin.cn](http://docs.django.antdvue.djangoadmin.cn) ++ 演示地址:[http://manage.django.antdvue.djangoadmin.cn](http://manage.django.antdvue.djangoadmin.cn) ## 软件版本 diff --git a/DjangoAdmin_Django_AntdVue/zh/volume1/backend.md b/DjangoAdmin_Django_AntdVue/zh/volume1/backend.md index 19b7615..82d4d66 100644 --- a/DjangoAdmin_Django_AntdVue/zh/volume1/backend.md +++ b/DjangoAdmin_Django_AntdVue/zh/volume1/backend.md @@ -142,7 +142,7 @@ vim .env # ============================================================ # 基础配置 # ============================================================ -DJANGO_NAME=Django+EleVue旗舰版 +DJANGO_NAME=Django+AntDesign旗舰版 DJANGO_VERSION=v3.0.0 DJANGO_DEBUG=True DJANGO_DEMO=False # 默认值为True(演示模式),开发时请设为False @@ -151,7 +151,7 @@ DJANGO_DEMO=False # 默认值为True(演示模式),开 # 数据库配置(根据实际情况修改) # ============================================================ DATABASE_ENGINE="django.db.backends.mysql" -DATABASE_NAME='djangoadmin.django.elevue' +DATABASE_NAME='djangoadmin.django.antdvue' DATABASE_HOST="127.0.0.1" DATABASE_PORT=3306 DATABASE_USER="root" @@ -185,7 +185,7 @@ REDIS_DB=0 ```sql -- 创建数据库(UTF-8 编码) -CREATE DATABASE `djangoadmin.django.elevue` +CREATE DATABASE `djangoadmin.django.antdvue` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; ``` @@ -210,7 +210,7 @@ python manage.py migrate ```bash # 使用 mysql 命令行导入 -mysql -uroot -p djangoadmin.django.elevue < document/mysql/djangoadmin.django.elevue.sql +mysql -uroot -p djangoadmin.django.antdvue < document/mysql/djangoadmin.django.antdvue.sql ``` :::tip 种子数据说明 @@ -321,7 +321,7 @@ lsof -i :8000 ``` 1. MySQL 服务是否已启动 2. .env 中的 DATABASE_HOST、DATABASE_PORT、DATABASE_USER、DATABASE_PASSWORD 是否正确 -3. 数据库 djangoadmin.django.elevue 是否已创建 +3. 数据库 djangoadmin.django.antdvue 是否已创建 4. 防火墙是否放行了数据库端口 ``` diff --git a/DjangoAdmin_Django_AntdVue/zh/volume1/database.md b/DjangoAdmin_Django_AntdVue/zh/volume1/database.md index 5efc94b..16619a3 100644 --- a/DjangoAdmin_Django_AntdVue/zh/volume1/database.md +++ b/DjangoAdmin_Django_AntdVue/zh/volume1/database.md @@ -17,7 +17,7 @@ ```sql -- 创建数据库(UTF-8 编码) -CREATE DATABASE `djangoadmin.django.elevue` +CREATE DATABASE `djangoadmin.django.antdvue` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; @@ -26,7 +26,7 @@ SHOW DATABASES; ``` :::tip 温馨提示 -数据库名称需要与 `.env` 文件中的 `DATABASE_NAME` 配置一致,默认为 `djangoadmin.django.elevue`。 +数据库名称需要与 `.env` 文件中的 `DATABASE_NAME` 配置一致,默认为 `djangoadmin.django.antdvue`。 ::: ## 第二步:配置数据库连接 @@ -38,7 +38,7 @@ SHOW DATABASES; # 数据库配置 # ============================================================ DATABASE_ENGINE="django.db.backends.mysql" # 数据库引擎 -DATABASE_NAME='djangoadmin.django.elevue' # 数据库名称 +DATABASE_NAME='djangoadmin.django.antdvue' # 数据库名称 DATABASE_HOST="127.0.0.1" # 数据库地址 DATABASE_PORT=3306 # 数据库端口 DATABASE_USER="root" # 数据库用户名 @@ -105,7 +105,7 @@ python manage.py migrate application.user 0001 ```bash # 使用 mysql 命令行导入 -mysql -uroot -p djangoadmin.django.elevue < document/mysql/djangoadmin.django.elevue.sql +mysql -uroot -p djangoadmin.django.antdvue < document/mysql/djangoadmin.django.antdvue.sql # 或使用 Navicat 等工具:右键数据库 → 运行 SQL 文件 ``` @@ -223,20 +223,20 @@ python generator.py --config config.json ```bash # 备份数据库 -mysqldump -uroot -p djangoadmin.django.elevue > backup.sql +mysqldump -uroot -p djangoadmin.django.antdvue > backup.sql # 恢复数据库 -mysql -uroot -p djangoadmin.django.elevue < backup.sql +mysql -uroot -p djangoadmin.django.antdvue < backup.sql ``` + PostgreSQL 备份 ```bash # 备份数据库 -pg_dump -U postgres djangoadmin.django.elevue > backup.sql +pg_dump -U postgres djangoadmin.django.antdvue > backup.sql # 恢复数据库 -psql -U postgres djangoadmin.django.elevue < backup.sql +psql -U postgres djangoadmin.django.antdvue < backup.sql ``` + SQLite 备份 @@ -254,10 +254,10 @@ cp db_backup.sqlite3 db.sqlite3 数据库初始化的核心步骤: ``` -1. 创建数据库:CREATE DATABASE `djangoadmin.django.elevue` +1. 创建数据库:CREATE DATABASE `djangoadmin.django.antdvue` 2. 配置 .env:设置 DATABASE_ENGINE、DATABASE_NAME 等连接信息 3. 执行迁移:python manage.py makemigrations && python manage.py migrate -4. 导入初始数据:mysql ... < document/mysql/djangoadmin.django.elevue.sql +4. 导入初始数据:mysql ... < document/mysql/djangoadmin.django.antdvue.sql ``` 后续的模型变更通过 Django 迁移系统管理(`makemigrations` + `migrate`),确保数据库结构与代码保持同步。如需使用代码生成器创建新模块,生成器会自动处理数据库迁移。 diff --git a/DjangoAdmin_Django_AntdVue/zh/volume1/docker.md b/DjangoAdmin_Django_AntdVue/zh/volume1/docker.md index daf7c48..b9d06c4 100644 --- a/DjangoAdmin_Django_AntdVue/zh/volume1/docker.md +++ b/DjangoAdmin_Django_AntdVue/zh/volume1/docker.md @@ -56,7 +56,7 @@ cp .env.example .env # 说明:连接 Docker 容器中运行的 MySQL 数据库 # ============================================================ DATABASE_ENGINE="django.db.backends.mysql" -DATABASE_NAME='djangoadmin.django.elevue' +DATABASE_NAME='djangoadmin.django.antdvue' DATABASE_HOST=127.0.0.1 # 数据库主机地址(本地容器) DATABASE_PORT=3306 # 数据库端口(MySQL 默认 3306) DATABASE_USER=root # 数据库用户名 @@ -80,7 +80,7 @@ REDIS_DB=0 # Redis 数据库索引 ```yaml # +====================================================================== # | 模块: Docker Compose 配置 -# | 说明: Django+EleVue 应用服务容器编排 +# | 说明: Django+AntDesign 应用服务容器编排 # +====================================================================== version: '3.7' # ============================================================ @@ -90,11 +90,11 @@ services: # ------------------------------------------------------------ # 后端服务 # ------------------------------------------------------------ - django_elevue: + django_antdvue: # 构建镜像名称 - image: django_elevue + image: django_antdvue # 容器运行时名称 - container_name: django_elevue + container_name: django_antdvue # 镜像构建配置 build: context: ./ # 构建上下文路径(项目根目录) @@ -168,7 +168,7 @@ docker compose up -d [+] Building 45.2s (12/12) FINISHED [+] Running 2/2 ✔ Network djangoadmin_default Created - ✔ Container django_elevue Started + ✔ Container django_antdvue Started ``` :::tip 访问服务 @@ -202,7 +202,7 @@ docker compose logs -f docker compose logs --tail 100 # 查看指定服务日志 -docker compose logs -f django_elevue +docker compose logs -f django_antdvue ``` + 停止与重启 @@ -232,10 +232,10 @@ docker compose up --build ```bash # 进入运行中的容器终端 -docker compose exec django_elevue bash +docker compose exec django_antdvue bash # 在容器内执行 Django 命令 -docker compose exec django_elevue python manage.py shell +docker compose exec django_antdvue python manage.py shell ``` ## 环境变量注入 @@ -244,10 +244,10 @@ Docker 模式下,环境变量通过 `env_file` 从 `.env` 文件注入到容 ```bash # 使用 --env-file 指定环境变量文件 -docker run --env-file .env django_elevue +docker run --env-file .env django_antdvue # 通过 -e 参数覆盖单个变量 -docker run -e DJANGO_DEBUG=False django_elevue +docker run -e DJANGO_DEBUG=False django_antdvue ``` :::tip 温馨提示 @@ -302,7 +302,7 @@ ports: ```bash # 查看容器日志排查原因 -docker compose logs django_elevue +docker compose logs django_antdvue ``` 常见原因:数据库连接失败、Redis 连接失败、数据库未创建。 diff --git a/DjangoAdmin_Django_AntdVue/zh/volume1/env-vars.md b/DjangoAdmin_Django_AntdVue/zh/volume1/env-vars.md index e7cd37e..509242a 100644 --- a/DjangoAdmin_Django_AntdVue/zh/volume1/env-vars.md +++ b/DjangoAdmin_Django_AntdVue/zh/volume1/env-vars.md @@ -12,12 +12,12 @@ | 变量名 | 默认值 | 说明 | |:----|:----|:----| -| `DJANGO_NAME` | `Django+EleVue旗舰版` | 应用名称,用于界面显示和系统标识 | +| `DJANGO_NAME` | `Django+AntDesign旗舰版` | 应用名称,用于界面显示和系统标识 | | `DJANGO_VERSION` | `v3.0.0` | 应用版本号 | | `DJANGO_DEBUG` | `True` | 是否开启调试模式。`True` 时输出详细错误堆栈,生产环境务必设为 `False` | | `DJANGO_DEMO` | `True` | 是否开启演示模式。`True` 时所有写操作(add/update/delete/status)返回"演示环境,暂无操作权限"。**开发调试时请设为 `False`** | | `DJANGO_UPLOAD_DIR` | `项目根目录/public/uploads` | 文件上传存储路径 | -| `DJANGO_FILE_URL` | `http://file.django.elevue` | 文件访问域名,用于拼接上传文件的访问 URL | +| `DJANGO_FILE_URL` | `http://file.django.antdvue` | 文件访问域名,用于拼接上传文件的访问 URL | :::tip 安全提示 1. 生产环境务必设置 `DJANGO_DEBUG=False`,调试模式会输出详细的错误堆栈信息,可能泄漏内部实现细节。 @@ -29,7 +29,7 @@ | 变量名 | 默认值 | 说明 | |:----|:----|:----| | `DATABASE_ENGINE` | `django.db.backends.mysql` | 数据库引擎。支持:`mysql`、`postgresql`、`sqlite3`、`oracle`、`mssql` | -| `DATABASE_NAME` | `djangoadmin.django.elevue` | 数据库名称。SQLite 时作为数据库文件路径 | +| `DATABASE_NAME` | `djangoadmin.django.antdvue` | 数据库名称。SQLite 时作为数据库文件路径 | | `DATABASE_HOST` | `127.0.0.1` | 数据库地址 | | `DATABASE_PORT` | `3306` | 数据库端口 | | `DATABASE_USER` | `root` | 数据库账号 | @@ -142,7 +142,7 @@ Redis 用于存储验证码、JWT 令牌黑名单等功能,是项目正常运 # ============================================================ # 应用配置 # ============================================================ -DJANGO_NAME=Django+EleVue旗舰版 +DJANGO_NAME=Django+AntDesign旗舰版 DJANGO_VERSION=v3.0.0 DJANGO_DEBUG=True DJANGO_DEMO=False # 代码默认True(演示模式),开发环境设为False以启用写操作 @@ -153,7 +153,7 @@ DJANGO_FILE_URL='http://file.django.antdvue' # 数据库配置 # ============================================================ DATABASE_ENGINE="django.db.backends.mysql" -DATABASE_NAME='djangoadmin.django.elevue' +DATABASE_NAME='djangoadmin.django.antdvue' DATABASE_HOST="127.0.0.1" DATABASE_PORT=3306 DATABASE_USER="root" @@ -200,7 +200,7 @@ extends/extends_dotenv.py │ 3. 调用 load_dotenv(env_path) 注入环境变量 ▼ config/env.py - │ os.getenv('DJANGO_NAME', 'Django+EleVue旗舰版') + │ os.getenv('DJANGO_NAME', 'Django+AntDesign旗舰版') │ os.getenv('DATABASE_HOST', '127.0.0.1') │ ...(所有配置项) ▼ diff --git a/DjangoAdmin_Django_AntdVue/zh/volume1/environment.md b/DjangoAdmin_Django_AntdVue/zh/volume1/environment.md index c3365f6..cfe237f 100644 --- a/DjangoAdmin_Django_AntdVue/zh/volume1/environment.md +++ b/DjangoAdmin_Django_AntdVue/zh/volume1/environment.md @@ -127,7 +127,7 @@ mysql> ```sql -- 创建数据库(UTF-8 编码) -CREATE DATABASE `djangoadmin.django.elevue` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; +CREATE DATABASE `djangoadmin.django.antdvue` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; -- 查看数据库 SHOW DATABASES; diff --git a/DjangoAdmin_Django_AntdVue/zh/volume1/faq.md b/DjangoAdmin_Django_AntdVue/zh/volume1/faq.md index d551fe1..41d7631 100644 --- a/DjangoAdmin_Django_AntdVue/zh/volume1/faq.md +++ b/DjangoAdmin_Django_AntdVue/zh/volume1/faq.md @@ -83,7 +83,7 @@ mysql -h127.0.0.1 -P3306 -uroot -p # 如果是权限问题,授权用户 mysql -uroot -p -GRANT ALL PRIVILEGES ON `djangoadmin.django.elevue`.* TO 'root'@'%' IDENTIFIED BY 'your_password'; +GRANT ALL PRIVILEGES ON `djangoadmin.django.antdvue`.* TO 'root'@'%' IDENTIFIED BY 'your_password'; FLUSH PRIVILEGES; ``` diff --git a/DjangoAdmin_Django_AntdVue/zh/volume3/directory.md b/DjangoAdmin_Django_AntdVue/zh/volume3/directory.md index db78974..4c456ff 100644 --- a/DjangoAdmin_Django_AntdVue/zh/volume3/directory.md +++ b/DjangoAdmin_Django_AntdVue/zh/volume3/directory.md @@ -150,14 +150,14 @@ config/ ```python # 应用配置 -DJANGO_NAME = os.getenv('DJANGO_NAME', 'Django+EleVue旗舰版') +DJANGO_NAME = os.getenv('DJANGO_NAME', 'Django+AntDesign旗舰版') DJANGO_VERSION = os.getenv('DJANGO_VERSION', 'v3.0.0') DJANGO_DEBUG = (os.getenv('DJANGO_DEBUG', 'True') == 'True') DJANGO_DEMO = (os.getenv('DJANGO_DEMO', 'True') == 'True') # 数据库配置 DATABASE_ENGINE = os.getenv('DATABASE_ENGINE', "django.db.backends.mysql") -DATABASE_NAME = os.getenv('DATABASE_NAME', 'djangoadmin.django.elevue') +DATABASE_NAME = os.getenv('DATABASE_NAME', 'djangoadmin.django.antdvue') DATABASE_HOST = os.getenv('DATABASE_HOST', "127.0.0.1") DATABASE_PORT = os.getenv('DATABASE_PORT', 3306) DATABASE_PREFIX = os.getenv('DATABASE_PREFIX', "django_") diff --git a/DjangoAdmin_Django_AntdVue/zh/volume3/tech-stack.md b/DjangoAdmin_Django_AntdVue/zh/volume3/tech-stack.md index 12ab24c..2ca7162 100644 --- a/DjangoAdmin_Django_AntdVue/zh/volume3/tech-stack.md +++ b/DjangoAdmin_Django_AntdVue/zh/volume3/tech-stack.md @@ -49,7 +49,7 @@ CACHES = { **配置说明**(`config/env.py`): ```python DATABASE_ENGINE = os.getenv('DATABASE_ENGINE', "django.db.backends.mysql") -DATABASE_NAME = os.getenv('DATABASE_NAME', 'djangoadmin.django.elevue') +DATABASE_NAME = os.getenv('DATABASE_NAME', 'djangoadmin.django.antdvue') DATABASE_HOST = os.getenv('DATABASE_HOST', "127.0.0.1") DATABASE_PORT = os.getenv('DATABASE_PORT', 3306) DATABASE_USER = os.getenv('DATABASE_USER', 'root') diff --git a/DjangoAdmin_Django_AntdVue/zh/volume4/frontend/build.md b/DjangoAdmin_Django_AntdVue/zh/volume4/frontend/build.md index 1908c1a..f3cbdba 100644 --- a/DjangoAdmin_Django_AntdVue/zh/volume4/frontend/build.md +++ b/DjangoAdmin_Django_AntdVue/zh/volume4/frontend/build.md @@ -191,7 +191,7 @@ import { defineStore } from 'pinia'; // 自动 window.__{SHORT_NAME}__PRODUCTION__CONF__ = { "VITE_GLOB_API_URL": "", "VITE_GLOB_API_URL_PREFIX": "/api", - "VITE_GLOB_FILE_URL": "http://file.django.elevue", + "VITE_GLOB_FILE_URL": "http://file.django.antdvue", "VITE_GLOB_APP_TITLE": "Django+AntDesign版", // ... }; diff --git a/DjangoAdmin_Django_AntdVue/zh/volume4/integration/proxy.md b/DjangoAdmin_Django_AntdVue/zh/volume4/integration/proxy.md index 8d03c0d..5d40122 100644 --- a/DjangoAdmin_Django_AntdVue/zh/volume4/integration/proxy.md +++ b/DjangoAdmin_Django_AntdVue/zh/volume4/integration/proxy.md @@ -157,7 +157,7 @@ location /uploads/ { ``` :::tip 温馨提示 -后端的文件访问地址需要与前端 `DJANGO_FILE_URL` 配置一致。开发环境为 `http://file.django.elevue`,生产环境需要配置为实际的文件服务域名。 +后端的文件访问地址需要与前端 `DJANGO_FILE_URL` 配置一致。开发环境为 `http://file.django.antdvue`,生产环境需要配置为实际的文件服务域名。 ::: ## 总结 diff --git a/DjangoAdmin_Django_AntdVue/zh/volume4/tools/db-session.md b/DjangoAdmin_Django_AntdVue/zh/volume4/tools/db-session.md index e2f92ce..302c66d 100644 --- a/DjangoAdmin_Django_AntdVue/zh/volume4/tools/db-session.md +++ b/DjangoAdmin_Django_AntdVue/zh/volume4/tools/db-session.md @@ -15,7 +15,7 @@ DATABASE_ENGINE = os.getenv('DATABASE_ENGINE', "django.db.backends.mysql") # 数据库名称 -DATABASE_NAME = os.getenv('DATABASE_NAME', 'djangoadmin.django.elevue') +DATABASE_NAME = os.getenv('DATABASE_NAME', 'djangoadmin.django.antdvue') # 数据库地址 DATABASE_HOST = os.getenv('DATABASE_HOST', "127.0.0.1") diff --git a/DjangoAdmin_Django_AntdVue/zh/volume4/tools/upload-guide.md b/DjangoAdmin_Django_AntdVue/zh/volume4/tools/upload-guide.md index f6ae2f7..220018a 100644 --- a/DjangoAdmin_Django_AntdVue/zh/volume4/tools/upload-guide.md +++ b/DjangoAdmin_Django_AntdVue/zh/volume4/tools/upload-guide.md @@ -29,7 +29,7 @@ | 变量 | 默认值 | 说明 | |:----|:----|:----| | `DJANGO_UPLOAD_DIR` | `{项目根目录}/public/uploads` | 上传文件存储目录 | -| `DJANGO_FILE_URL` | `http://file.django.elevue` | 文件访问域名 | +| `DJANGO_FILE_URL` | `http://file.django.antdvue` | 文件访问域名 | | `DJANGO_TEMP_PATH` | `{DJANGO_UPLOAD_DIR}/temp` | 临时文件目录 | ## 上传接口 @@ -66,7 +66,7 @@ file: <文件> "fileSize": 306995, "fileName": "2025030614302512345.jpg", "filePath": "/temp/20250306/2025030614302512345.jpg", - "fileUrl": "http://file.django.elevue/temp/20250306/2025030614302512345.jpg" + "fileUrl": "http://file.django.antdvue/temp/20250306/2025030614302512345.jpg" }, "ok": true } @@ -118,7 +118,7 @@ public/uploads/ 上传成功后返回的 `fileUrl` 是拼接了 `DJANGO_FILE_URL` 前缀的完整 URL: ``` -http://file.django.elevue/temp/20250306/2025030614302512345.jpg +http://file.django.antdvue/temp/20250306/2025030614302512345.jpg ``` Service 层的 `get_file_url()` 会自动为文件字段补此前缀。 diff --git a/DjangoAdmin_Django_AntdVue/zh/volume4/tools/upload.md b/DjangoAdmin_Django_AntdVue/zh/volume4/tools/upload.md index 0bf203c..2d34952 100644 --- a/DjangoAdmin_Django_AntdVue/zh/volume4/tools/upload.md +++ b/DjangoAdmin_Django_AntdVue/zh/volume4/tools/upload.md @@ -26,7 +26,7 @@ DJANGO_UPLOAD_DIR = os.getenv('DJANGO_UPLOAD_DIR', os.path.join(DJANGO_ROOT_PATH DJANGO_TEMP_PATH = DJANGO_UPLOAD_DIR + '/temp' # 文件访问域名 -DJANGO_FILE_URL = os.getenv('DJANGO_FILE_URL', 'http://file.django.elevue') +DJANGO_FILE_URL = os.getenv('DJANGO_FILE_URL', 'http://file.django.antdvue') ``` :::tip 温馨提示 @@ -70,7 +70,7 @@ Authorization: Bearer "fileSize": 306995, "fileName": "2025030614302512345.jpg", "filePath": "/temp/20250306/2025030614302512345.jpg", - "fileUrl": "http://file.django.elevue/temp/20250306/2025030614302512345.jpg" + "fileUrl": "http://file.django.antdvue/temp/20250306/2025030614302512345.jpg" }, "ok": true } diff --git a/DjangoAdmin_Django_AntdVue/zh/volume6/backup.md b/DjangoAdmin_Django_AntdVue/zh/volume6/backup.md index cb14ef8..2405f4b 100644 --- a/DjangoAdmin_Django_AntdVue/zh/volume6/backup.md +++ b/DjangoAdmin_Django_AntdVue/zh/volume6/backup.md @@ -18,11 +18,11 @@ # 使用 mysqldump 备份单个数据库 mysqldump -h 127.0.0.1 -u root -p --single-transaction \ --routines --triggers --events \ - djangoadmin.django.elevue > backup_$(date +%Y%m%d_%H%M%S).sql + djangoadmin.django.antdvue > backup_$(date +%Y%m%d_%H%M%S).sql # 压缩备份 mysqldump -h 127.0.0.1 -u root -p --single-transaction \ - djangoadmin.django.elevue | gzip > backup_$(date +%Y%m%d_%H%M%S).sql.gz + djangoadmin.django.antdvue | gzip > backup_$(date +%Y%m%d_%H%M%S).sql.gz ``` :::tip --single-transaction 作用 @@ -100,7 +100,7 @@ mkdir -p ${BACKUP_DIR}/{mysql,redis,uploads} # MySQL 备份 mysqldump -h 127.0.0.1 -u djangoadmin -p'<密码>' \ - --single-transaction djangoadmin.django.elevue | gzip > \ + --single-transaction djangoadmin.django.antdvue | gzip > \ ${BACKUP_DIR}/mysql/backup_${DATE}.sql.gz # Redis 备份 @@ -134,10 +134,10 @@ crontab -e ```bash # 从 SQL 文件恢复 -mysql -h 127.0.0.1 -u root -p djangoadmin.django.elevue < backup_20260905.sql +mysql -h 127.0.0.1 -u root -p djangoadmin.django.antdvue < backup_20260905.sql # 从压缩文件恢复 -gunzip < backup_20260905.sql.gz | mysql -h 127.0.0.1 -u root -p djangoadmin.django.elevue +gunzip < backup_20260905.sql.gz | mysql -h 127.0.0.1 -u root -p djangoadmin.django.antdvue ``` ### Redis 恢复 diff --git a/DjangoAdmin_Django_AntdVue/zh/volume6/db-migrate.md b/DjangoAdmin_Django_AntdVue/zh/volume6/db-migrate.md index 3492b15..d4371a0 100644 --- a/DjangoAdmin_Django_AntdVue/zh/volume6/db-migrate.md +++ b/DjangoAdmin_Django_AntdVue/zh/volume6/db-migrate.md @@ -23,7 +23,7 @@ python manage.py migrate ``` :::tip 初始化流程 -1. 确保数据库已创建:`CREATE DATABASE djangoadmin.django.elevue DEFAULT CHARACTER SET utf8mb4;` +1. 确保数据库已创建:`CREATE DATABASE djangoadmin.django.antdvue DEFAULT CHARACTER SET utf8mb4;` 2. 确保 `.env` 中的数据库配置正确 3. 执行 `python manage.py migrate` 自动创建所有表 ::: diff --git a/DjangoAdmin_Django_AntdVue/zh/volume6/deploy-checklist.md b/DjangoAdmin_Django_AntdVue/zh/volume6/deploy-checklist.md index 8c83930..655dbcf 100644 --- a/DjangoAdmin_Django_AntdVue/zh/volume6/deploy-checklist.md +++ b/DjangoAdmin_Django_AntdVue/zh/volume6/deploy-checklist.md @@ -29,7 +29,7 @@ **数据库**: - [ ] 安装 MySQL 8.0+ -- [ ] 创建数据库:`CREATE DATABASE djangoadmin.django.elevue DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;` +- [ ] 创建数据库:`CREATE DATABASE djangoadmin.django.antdvue DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;` - [ ] 创建数据库用户并授权 - [ ] 修改 `.env` 中的数据库配置(DATABASE_ENGINE、DATABASE_NAME、DATABASE_HOST、DATABASE_PORT、DATABASE_USER、DATABASE_PASSWORD) - [ ] 初始化数据库:`python manage.py migrate` @@ -144,7 +144,7 @@ server { ### 数据库迁移 -- [ ] 备份数据库:`mysqldump -uroot -p djangoadmin.django.elevue > backup.sql` +- [ ] 备份数据库:`mysqldump -uroot -p djangoadmin.django.antdvue > backup.sql` - [ ] 执行迁移:`python manage.py makemigrations && python manage.py migrate` - [ ] 验证迁移结果 @@ -204,7 +204,7 @@ cp -r /opt/backup/dist /opt/project/ui/dist ```bash # 从备份恢复 -mysql -uroot -p djangoadmin.django.elevue < backup.sql +mysql -uroot -p djangoadmin.django.antdvue < backup.sql ``` ## 总结 diff --git a/DjangoAdmin_Django_AntdVue/zh/volume6/docker.md b/DjangoAdmin_Django_AntdVue/zh/volume6/docker.md index 4ef6aa7..2739b33 100644 --- a/DjangoAdmin_Django_AntdVue/zh/volume6/docker.md +++ b/DjangoAdmin_Django_AntdVue/zh/volume6/docker.md @@ -151,7 +151,7 @@ services: image: mysql:8.0 environment: MYSQL_ROOT_PASSWORD: root - MYSQL_DATABASE: djangoadmin.django.elevue + MYSQL_DATABASE: djangoadmin.django.antdvue volumes: - mysql_data:/var/lib/mysql ports: diff --git a/DjangoAdmin_Django_AntdVue/zh/volume6/env-plan.md b/DjangoAdmin_Django_AntdVue/zh/volume6/env-plan.md index fab5d59..5e5e9ce 100644 --- a/DjangoAdmin_Django_AntdVue/zh/volume6/env-plan.md +++ b/DjangoAdmin_Django_AntdVue/zh/volume6/env-plan.md @@ -49,7 +49,7 @@ REDIS_PASSWORD=123456 REDIS_DB=0 # 文件配置 -DJANGO_FILE_URL=http://file.django.elevue +DJANGO_FILE_URL=http://file.django.antdvue ``` ### Prod 环境 @@ -91,7 +91,7 @@ DJANGO_FILE_URL=https://files.example.com ```python # config/env.py 中的配置读取方式 DATABASE_ENGINE = os.getenv('DATABASE_ENGINE', "django.db.backends.mysql") -DATABASE_NAME = os.getenv('DATABASE_NAME', 'djangoadmin.django.elevue') +DATABASE_NAME = os.getenv('DATABASE_NAME', 'djangoadmin.django.antdvue') DATABASE_HOST = os.getenv('DATABASE_HOST', "127.0.0.1") ``` @@ -105,12 +105,12 @@ Docker 部署时,`docker-compose.yml` 通过 `env_file: .env` 注入环境变 | 变量名 | 说明 | 默认值 | |:----|:----|:----| -| `DJANGO_NAME` | 应用名称(显示在浏览器标题) | Django+EleVue旗舰版 | +| `DJANGO_NAME` | 应用名称(显示在浏览器标题) | Django+AntDesign旗舰版 | | `DJANGO_VERSION` | 应用版本号 | v3.0.0 | | `DJANGO_DEBUG` | 调试模式开关 | True | | `DJANGO_DEMO` | 演示模式(限制写操作) | True | | `DATABASE_ENGINE` | 数据库引擎 | django.db.backends.mysql | -| `DATABASE_NAME` | 数据库名称 | djangoadmin.django.elevue | +| `DATABASE_NAME` | 数据库名称 | djangoadmin.django.antdvue | | `DATABASE_HOST` | 数据库主机 | 127.0.0.1 | | `DATABASE_PORT` | 数据库端口 | 3306 | | `DATABASE_USER` | 数据库用户名 | root | @@ -120,7 +120,7 @@ Docker 部署时,`docker-compose.yml` 通过 `env_file: .env` 注入环境变 | `REDIS_PORT` | Redis 端口 | 6379 | | `REDIS_PASSWORD` | Redis 密码 | 123456 | | `REDIS_DB` | Redis 数据库索引 | 0 | -| `DJANGO_FILE_URL` | 文件访问域名 | http://file.django.elevue | +| `DJANGO_FILE_URL` | 文件访问域名 | http://file.django.antdvue | | `DJANGO_UPLOAD_DIR` | 文件上传目录 | /public/uploads | | `IP_LOCATION_SOURCE` | IP 地理位置来源 | api | | `SITE_DOMAIN` | 站点域名 | http://127.0.0.1:8000 | diff --git a/DjangoAdmin_Django_AntdVue/zh/volume6/upgrade.md b/DjangoAdmin_Django_AntdVue/zh/volume6/upgrade.md index 2c688bf..dd62ae4 100644 --- a/DjangoAdmin_Django_AntdVue/zh/volume6/upgrade.md +++ b/DjangoAdmin_Django_AntdVue/zh/volume6/upgrade.md @@ -18,7 +18,7 @@ ```bash # 1. 数据库全量备份 mysqldump -h 127.0.0.1 -u root -p --single-transaction \ - djangoadmin.django.elevue | gzip > backup_$(date +%Y%m%d_%H%M%S).sql.gz + djangoadmin.django.antdvue | gzip > backup_$(date +%Y%m%d_%H%M%S).sql.gz # 2. 上传文件备份 tar -czf uploads_$(date +%Y%m%d).tar.gz /data/apps/DjangoAdmin_Django_AntdVue/public/uploads/ @@ -174,7 +174,7 @@ cd /data/apps/ tar -xzf app_20260905.tar.gz # 3. 恢复数据库 -gunzip < backup_20260905.sql.gz | mysql -u root -p djangoadmin.django.elevue +gunzip < backup_20260905.sql.gz | mysql -u root -p djangoadmin.django.antdvue # 4. 恢复上传文件 tar -xzf uploads_20260905.tar.gz -C / diff --git a/DjangoAdmin_Django_EleVue/zh/volume7/fe-component.md b/DjangoAdmin_Django_EleVue/zh/volume7/fe-component.md index b2c7eb9..0596bfc 100644 --- a/DjangoAdmin_Django_EleVue/zh/volume7/fe-component.md +++ b/DjangoAdmin_Django_EleVue/zh/volume7/fe-component.md @@ -6,7 +6,7 @@ :::tip 技术栈 - Vue3(Composition API + ` ``` ### 关键点 -- **PageWrapper**:页面容器,提供统一的页面布局 -- **BasicForm**:搜索表单组件,通过 `useForm` 注册 -- **BasicTable**:数据表格组件,内置分页功能 -- **TableAction**:操作栏组件,支持权限控制 -- **defineAsyncComponent**:懒加载弹窗组件,优化首屏加载 +- **n-card**:NaiveUI 卡片容器,提供统一的页面布局 +- **BasicForm**:搜索表单组件,通过 `useForm` 注册,`gridProps` 配置响应式栅格 +- **BasicTable**:数据表格组件,内置分页功能,使用 `@update:checked-row-keys` 监听多选 +- **TableAction**:操作栏组件,图标通过 `renderIcon` 包装 `@vicons/antd` 图标 +- **useMessage / useDialog**:NaiveUI 的消息和对话框 Hook - **v-perm**:权限指令,控制按钮显示 ## 2. 编辑弹窗 edit.vue -编辑弹窗是独立组件,负责新增和编辑操作的表单展示与提交。 +编辑弹窗是独立组件,负责新增和编辑操作的表单展示与提交。使用 `basicModal` + `useModal` 模式。 ### 核心结构 ```vue @@ -726,7 +750,7 @@ async function getDeptOptions() { ```vue ``` @@ -734,7 +758,7 @@ async function getDeptOptions() { :::tip v-perm 指令 除了 `Authority` 组件,项目还提供 `v-perm` 指令,功能相同但更简洁: ```vue -新增用户 +新增用户 ``` ::: @@ -742,7 +766,7 @@ async function getDeptOptions() { ## Icon 图标 -统一图标组件,支持 ElementPlus 图标和 SVG 图标。 +统一图标组件,支持 @vicons/antd 图标和 SVG 图标。 ### Props @@ -756,8 +780,8 @@ async function getDeptOptions() { ```vue @@ -838,4 +862,4 @@ setupCustomComponents(app); // 注册所有自定义组件 ## 总结 -公共组件库基于 ElementPlus 二次封装,核心三件套 BasicTable(表格)、BasicForm(表单)、BasicModal(弹窗)覆盖列表页标准场景。辅以 Upload、Editor、Cropper 等业务组件,以及 Authority、v-perm 权限体系。通过全局注册,任何页面直接使用,无需单独 import。优先使用公共组件,避免重复开发。 +公共组件库基于 NaiveUI 二次封装,核心三件套 BasicTable(表格)、BasicForm(表单)、BasicModal(弹窗)覆盖列表页标准场景。辅以 Upload、Editor、Cropper 等业务组件,以及 Authority、v-perm 权限体系。通过全局注册,任何页面直接使用,无需单独 import。优先使用公共组件,避免重复开发。 diff --git a/DjangoAdmin_Django_NaiveVue/zh/volume4/frontend/form.md b/DjangoAdmin_Django_NaiveVue/zh/volume4/frontend/form.md index 3efc9f9..2d54668 100644 --- a/DjangoAdmin_Django_NaiveVue/zh/volume4/frontend/form.md +++ b/DjangoAdmin_Django_NaiveVue/zh/volume4/frontend/form.md @@ -3,7 +3,7 @@ :::tip 说明 -`BasicForm` 位于 `src/components/Form/src/BasicForm.vue`,基于 ElementPlus 的 `el-form` 二次封装,通过 schemas 配置化定义表单字段,支持查询表单和业务表单两种模式。 +`BasicForm` 位于 `src/components/Form/src/BasicForm.vue`,基于 NaiveUI 的 `n-form` 二次封装,通过 schemas 配置化定义表单字段,支持查询表单和业务表单两种模式。 ::: ## 组件架构 @@ -26,9 +26,9 @@ src/components/Form/ 列表页的搜索区域使用 `useForm` 注册表单: ```vue - + - + ``` ### querySchemas 定义 @@ -41,7 +41,7 @@ import { FormSchema } from '@/components/Form/index'; export const schemas: FormSchema[] = [ { field: 'name', - component: 'Input', + component: 'NInput', label: '岗位名称', componentProps: { placeholder: '请输入岗位名称', @@ -49,14 +49,14 @@ export const schemas: FormSchema[] = [ }, { field: 'status', - component: 'Select', + component: 'NSelect', label: '状态', componentProps: { placeholder: '请选择状态', clearable: true, options: [ { label: '正常', value: '1' }, - { label: '禁用', value: '2' }, + { label: '停用', value: '2' }, ], }, }, @@ -68,26 +68,25 @@ export const schemas: FormSchema[] = [ ```typescript import { schemas } from './querySchemas'; import { useForm } from '@/components/Form/index'; -import { ColProps } from 'element-plus'; const formParams = reactive({ name: '', status: '' }); const [register, {}] = useForm({ + gridProps: { cols: '1 s:1 m:2 l:3 xl:4 2xl:4' }, labelWidth: 80, - layout: 'horizontal', - colProps: { span: 6 } as ColProps, - submitOnReset: true, schemas, }); function handleSubmit(values: Recordable) { - handleReset(); + for (const key in formParams) { formParams[key] = ''; } for (const key in values) { formParams[key] = values[key]; } reloadTable(); } -function handleReset() { +function handleReset(values: Recordable) { for (const key in formParams) { formParams[key] = ''; } + for (const key in values) { formParams[key] = values[key]; } + reloadTable(); } ``` @@ -95,73 +94,173 @@ function handleReset() { ## 业务表单(编辑弹窗) -编辑弹窗中直接使用 `el-form` + `el-form-item` 构建表单: +编辑弹窗使用 `basicModal` + `useModal` + `n-form` 构建表单: ```vue ``` +### useModal 注册 + +```typescript +import { useModal } from '@/components/Modal'; + +const [modalRegister, { openModal, setSubLoading }] = useModal({ + title: props.positionId ? '编辑岗位' : '添加岗位', + subBtuText: '确定', + width: 600, +}); +``` + +### 完整 script 示例 + +```typescript +import { getPositionDetail, positionAdd, positionUpdate } from '@/api/system/position'; +import { onMounted, reactive, ref } from 'vue'; +import { useMessage } from 'naive-ui'; +import { useModal } from '@/components/Modal'; + +const emit = defineEmits(['success', 'update:visible']); +const formRef = ref(); +const message = useMessage(); + +const formData = reactive({ + id: '', + name: '', + status: 1, + sort: 0, +}); + +const props = defineProps({ + visible: { type: Boolean, required: true, default: false }, + positionId: { type: Number, required: true, default: 0 }, +}); + +const [modalRegister, { openModal, setSubLoading }] = useModal({ + title: props.positionId ? '编辑岗位' : '添加岗位', + subBtuText: '确定', + width: 600, +}); + +const handleSubmit = async () => { + formRef.value + .validate() + .then(async () => { + props.positionId ? await positionUpdate(formData) : await positionAdd(formData); + message.success('操作成功'); + setSubLoading(false); + emit('update:visible', false); + emit('success'); + }) + .catch(() => { + setSubLoading(false); + }); +}; + +const handleClose = () => { + emit('update:visible', false); +}; + +const setFormData = async () => { + const data = await getPositionDetail(props.positionId); + for (const key in formData) { + if (data[key] != null && data[key] != undefined) { + formData[key] = data[key]; + } + } +}; + +onMounted(() => { + if (props.positionId) setFormData(); +}); + +defineExpose({ openModal }); +``` + ## BasicForm 内部渲染机制 -`BasicForm.vue` 根据 `schema.component` 动态渲染对应的 ElementPlus 组件: +`BasicForm.vue` 根据 `schema.component` 动态渲染对应的 NaiveUI 组件: ```vue