Become a sponsor

DjangoAdmin_Django_EleVue/
|
+-- application/ # Django后端应用主目录
+-- middleware/ # 自定义中间件
+-- utils/ # 工具函数库
+-- config/ # 配置文件目录
+-- constant/ # 常量定义
+-- extends/ # 扩展功能
+-- public/ # 公共资源
| +-- static/ # 静态文件
| +-- templates/ # 代码生成模板
| +-- uploads/ # 上传文件存储
+-- data/ # 数据文件
+-- ui/ # Vue前端项目
+-- manage.py # Django管理脚本
+-- generator.py # 代码生成器CLI
+-- config.json # 代码生成配置
+-- requirements.txt # Python依赖
+-- .env # 环境变量配置
+-- CLAUDE.md # Claude Code指导文件application/
|
+-- __init__.py # 包初始化
+-- settings.py # Django项目配置
+-- urls.py # 主路由配置
+-- models.py # BaseModel抽象基类
+-- constants.py # 项目常量定义
+-- asgi.py # ASGI入口
+-- wsgi.py # WSGI入口
|
+-- login/ # 登录模块
+-- index/ # 首页模块
+-- user/ # 用户管理模块
+-- role/ # 角色管理模块
+-- menu/ # 菜单管理模块
+-- dept/ # 部门管理模块
+-- dict/ # 字典管理模块
+-- config/ # 配置管理模块
+-- job/ # 定时任务模块
+-- article/ # 文章管理模块
+-- example/ # 案例模块(参考示例)
+-- generator/ # 代码生成器模块
+-- operation_log/ # 操作日志模块
+-- login_log/ # 登录日志模块
+-- upload/ # 文件上传模块
+-- ... # 其他业务模块每个业务模块遵循统一的文件结构:
application/<module>/
|
+-- __init__.py # 包初始化文件
+-- apps.py # Django应用配置
+-- models.py # 数据模型定义
+-- forms.py # 表单验证类
+-- services.py # 业务逻辑函数
+-- views.py # 视图处理类
+-- urls.py # URL路由配置
+-- admin.py # Admin后台注册
+-- constants.py # 模块常量(可选)
+-- migrations/ # 数据库迁移文件
+-- __init__.py
+-- 0001_initial.py| 文件 | 职责 | 典型内容 |
|---|---|---|
models.py | 数据模型定义 | 继承 BaseModel,定义业务字段 |
forms.py | 表单验证 | ModelForm 子类,字段验证规则 |
services.py | 业务逻辑 | CRUD 操作,分页查询,数据处理 |
views.py | 视图处理 | 类视图,装饰器,权限检查 |
urls.py | 路由配置 | path() 映射,URL 到视图的绑定 |
apps.py | 应用配置 | AppConfig 子类,应用名称 |
admin.py | Admin注册 | 模型在 Django Admin 的注册 |
middleware/
|
+-- __init__.py # 包初始化
+-- login_middleware.py # JWT登录认证装饰器
+-- permission_middleware.py # 权限控制混入类| 文件 | 功能 | 核心类/函数 |
|---|---|---|
login_middleware.py | JWT认证 | check_login 装饰器 |
permission_middleware.py | RBAC权限 | PermissionRequired 混入类 |
utils/
|
+-- __init__.py # 包初始化
+-- R.py # 统一响应格式
+-- jwt.py # JWT令牌处理
+-- security.py # 用户安全工具
+-- common.py # 通用工具函数
+-- regular.py # 正则验证工具
+-- password.py # 密码处理工具
+-- file.py # 文件处理工具
+-- ip_location.py # IP地理位置查询
+-- ip2region.py # IP数据库查询
+-- ip2region.xdb # IP数据库文件| 文件 | 功能 | 核心函数 |
|---|---|---|
R.py | 统一响应 | R.ok(), R.failed(), R.response() |
jwt.py | JWT处理 | create_token(), parse_payload(), refresh_token() |
security.py | 用户信息 | get_user_id(), get_username() |
common.py | 通用工具 | parse_request_body(), format_datetime(), get_file_url() |
regular.py | 表单验证 | get_err() |
password.py | 密码处理 | hash_password(), verify_password() |
config/
|
+-- __init__.py # 包初始化
+-- env.py # 环境变量配置config/env.py 定义了所有可配置的环境变量:
# 应用配置
DJANGO_NAME = os.getenv('DJANGO_NAME', 'Django+EleVue旗舰版')
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_HOST = os.getenv('DATABASE_HOST', "127.0.0.1")
DATABASE_PORT = os.getenv('DATABASE_PORT', 3306)
DATABASE_PREFIX = os.getenv('DATABASE_PREFIX', "django_")
# Redis配置
REDIS_HOST = os.getenv('REDIS_HOST', '127.0.0.1')
REDIS_PORT = int(os.getenv('REDIS_PORT', 6379))
REDIS_PASSWORD = os.getenv('REDIS_PASSWORD', '123456')
REDIS_DB = int(os.getenv('REDIS_DB', 0))
# IP地理位置配置
IP_LOCATION_SOURCE = os.environ.get('IP_LOCATION_SOURCE', 'api')
IP_CACHE_ENABLED = os.environ.get('IP_CACHE_ENABLED', 'True') == 'True'
IP_CACHE_TIMEOUT = int(os.environ.get('IP_CACHE_TIMEOUT', 86400))ui/
|
+-- public/ # 静态资源
+-- src/
| +-- api/ # API接口定义
| | +-- tool/ # 业务API模块
| | +-- example.ts # 案例API
| | +-- user.ts # 用户API
| |
| +-- views/ # 页面组件
| | +-- tool/ # 业务页面
| | +-- example/ # 案例页面
| | | +-- index.vue # 列表页
| | | +-- edit.vue # 编辑页
| | | +-- detail.vue # 详情页
| |
| +-- components/ # 公共组件
| | +-- BasicTable/ # 表格组件
| | +-- BasicForm/ # 表单组件
| | +-- PageWrapper/ # 页面容器
| |
| +-- router/ # 路由配置
| +-- store/ # Pinia状态管理
| +-- utils/ # 工具函数
| +-- layouts/ # 布局组件
|
+-- .env.development # 开发环境配置
+-- .env.production # 生产环境配置
+-- package.json # 依赖配置
+-- vite.config.ts # Vite配置
+-- tsconfig.json # TypeScript配置public/
|
+-- static/ # 静态文件
+-- templates/ # 代码生成模板
| +-- models.py.tpl # 模型模板
| +-- forms.py.tpl # 表单模板
| +-- services.py.tpl # 服务模板
| +-- views.py.tpl # 视图模板
| +-- urls.py.tpl # 路由模板
| +-- ui/
| +-- index.vue.tpl # 列表页模板
| +-- edit.vue.tpl # 编辑页模板
| +-- detail.vue.tpl # 详情页模板
| +-- api.ts.tpl # API模块模板
|
+-- uploads/ # 上传文件存储
+-- example/ # 按模块分类存储
+-- avatar/ # 头像文件
+-- temp/ # 临时文件