以下是针对客户管理系统的详细项目框架结构,整合了核心业务模块(客户信息、合同管理、售前售后等),并补充了实用扩展模块(如数据统计、标签管理等),严格遵循Django模块化设计原则:
crm_backend/ # 项目根目录
├── manage.py # Django命令行工具
├── requirements/ # 依赖管理(按环境拆分)
│ ├── base.txt # 基础依赖(Django、DRF、django-filter等)
│ ├── dev.txt # 开发环境(pytest、django-debug-toolbar)
│ └── prod.txt # 生产环境(gunicorn、psycopg2、redis)
├── config/ # 项目核心配置
│ ├── __init__.py
│ ├── settings/ # 环境隔离配置
│ │ ├── base.py # 基础配置(通用参数:APP注册、中间件等)
│ │ ├── dev.py # 开发环境(DEBUG=True、SQLite)
│ │ └── prod.py # 生产环境(DEBUG=False、PostgreSQL+Redis)
│ ├── urls.py # 主路由(分发到各应用)
│ ├── wsgi.py # WSGI部署配置
│ └── asgi.py # ASGI异步配置
├── apps/ # 业务应用模块(核心)
│ ├── core/ # 公共类/通用功能(跨应用复用)
│ ├── customers/ # 客户信息管理(核心)
│ ├── pre_sales/ # 售前管理
│ ├── after_sales/ # 售后管理
│ ├── contracts/ # 合同管理(电子合同+纸质附件)
│ ├── follow_ups/ # 回访记录
│ ├── customer_dynamics/ # 客户动态
│ ├── customer_transfers/ # 客户流转记录
│ ├── tags/ # 客户标签管理(扩展)
│ ├── statistics/ # 数据统计分析(扩展)
│ └── notifications/ # 消息通知(扩展)
├── media/ # 媒体文件(纸质合同扫描件、客户资料等)
├── static/ # 静态文件(全局配置文件、导出模板等)
├── utils/ # 项目级工具函数(Excel导出、加密等)
└── tests/ # 集成测试(跨应用场景)