Skip to content

Repository files navigation

租车管理系统 (Car Rental System)

这是一个基于Django框架开发的租车管理系统,提供车辆管理、客户管理和租赁管理的功能。

项目结构

car_rental_system/
├── manage.py                 # Django管理脚本
├── db.sqlite3               # SQLite数据库文件(不会上传到Git)
├── .gitignore               # Git忽略文件配置
├── requirements.txt         # Python依赖包列表
├── car_rental_system/       # 主项目目录
│   ├── __init__.py
│   ├── settings.py          # 项目设置
│   ├── urls.py              # 主URL配置
│   ├── wsgi.py
│   └── asgi.py
├── vehicles/                # 车辆管理应用
│   ├── models.py
│   ├── views.py
│   ├── urls.py
│   └── ...
├── customers/               # 客户管理应用
│   ├── models.py
│   ├── views.py
│   ├── urls.py
│   └── ...
├── rentals/                 # 租赁管理应用
│   ├── models.py
│   ├── views.py
│   ├── urls.py
│   └── ...
└── accounts/                # 用户账户应用
    ├── models.py
    ├── views.py
    ├── urls.py
    └── ...

核心功能

👤 用户端功能

用户认证与账户管理

  • ✅ 用户注册(用户名、邮箱、密码)
  • ✅ 用户登录(支持管理员和普通用户)
  • ✅ 密码重置
  • ✅ 个人中心(查看个人信息、订单统计)
  • ✅ 客户信息管理(身份证、驾照等)

车辆浏览与选择

  • ✅ 车辆列表浏览(分页、搜索、筛选)
  • ✅ 车辆详情查看(包含用户评价)
  • ✅ 车辆收藏功能
  • ✅ 车辆对比功能
  • 个性化推荐(基于历史订单智能推荐合适车型)

订单管理

  • ✅ 创建租赁订单(选择车辆、日期、门店)
  • ✅ 订单列表查看(我的订单)
  • ✅ 订单详情查看(费用明细、支付记录)
  • ✅ 订单取消(自动退款)
  • ✅ 订单评价(1-5星评分)

支付功能

  • ✅ 订单支付(支持多种支付方式)
  • ✅ 支付记录查询
  • ✅ 消费明细报表
  • ✅ 退款记录查看

还车功能

  • ✅ 车辆归还(选择实际还车门店)
  • ✅ 异地还车处理(自动计算费用)
  • ✅ 超时还车费用计算
  • ✅ 押金自动退还

VIP会员系统

  • ✅ VIP自动升级(连续10个订单表现优异)
  • ✅ VIP会员免押金
  • ✅ VIP会员9折优惠
  • ✅ VIP升级进度查看

🛠️ 管理员端功能

车辆管理 (vehicles)

  • ✅ 车辆信息录入(车牌号、品牌、型号、类型、颜色、日租金、座位数)
  • ✅ 车辆列表查看(搜索、筛选、分页)
  • ✅ 车辆信息编辑
  • ✅ 车辆详情查看(包含评价统计)
  • ✅ 车辆删除
  • ✅ 车辆状态管理(可用、已租、维修中)

客户管理 (customers)

  • ✅ 客户信息登记(姓名、联系方式、身份证、驾照信息)
  • ✅ 客户列表查看(搜索、筛选、分页)
  • ✅ 客户信息编辑
  • ✅ 客户详情查看(租赁历史、统计信息)
  • ✅ 客户删除
  • ✅ VIP会员管理(手动授权或查看自动升级进度)
  • ✅ 会员等级管理(普通会员、VIP会员)

租赁管理 (rentals)

  • ✅ 创建租赁订单
  • ✅ 订单列表查看(多种筛选条件)
  • ✅ 订单详情查看
  • ✅ 订单状态管理(预订中、进行中、已超时未归还、已完成、已取消)
  • ✅ 订单编辑
  • ✅ 车辆归还处理
  • ✅ 订单取消
  • ✅ 订单状态自动更新(定时任务)

评价管理

  • ✅ 评价列表查看
  • ✅ 评价详情查看
  • ✅ 评价编辑与删除

快速开始

1. 环境要求

  • Python 3.8 或更高版本
  • pip(Python 包管理器)

2. 安装依赖

进入项目目录,使用以下命令安装依赖:

# 进入项目目录(根据实际路径调整)
cd code/car_rental_system

# 安装依赖
pip install -r requirements.txt

注意:如果使用虚拟环境,请先激活虚拟环境:

# Windows
.venv\Scripts\activate

# Linux/Mac
source .venv/bin/activate

或者直接安装 Django:

pip install Django==5.2.8

3. 运行项目

在项目根目录(包含 manage.py 的目录)执行:

python manage.py runserver

或者指定端口:

python manage.py runserver 8000

4. 访问系统

启动成功后,打开浏览器访问以下地址:

5. 创建超级用户(可选)

如果需要访问管理后台,可以创建超级用户:

python manage.py createsuperuser

然后按照提示输入用户名、邮箱和密码。

6. 数据库迁移

首次运行或更新模型后,需要执行数据库迁移:

# 创建迁移文件
python manage.py makemigrations

# 应用迁移
python manage.py migrate

注意:数据库文件 db.sqlite3 不会被上传到 Git 仓库,每个开发者需要在自己的环境中运行迁移命令来创建数据库。

URL结构

用户相关

  • / - 主界面(未登录用户会跳转到登录页面)
  • /accounts/login/ - 登录界面
  • /accounts/register/ - 用户注册
  • /accounts/home/ - 用户主页(登录后)
  • /accounts/profile/ - 个人中心
  • /accounts/my-orders/ - 我的订单
  • /accounts/order/<id>/ - 订单详情
  • /accounts/order/create/ - 创建订单
  • /accounts/consumption/ - 消费明细

管理员相关

  • /customers/ - 客户管理
  • /customers/list/ - 客户列表
  • /customers/add/ - 添加客户
  • /rentals/ - 租赁管理
  • /rentals/list/ - 租赁列表
  • /rentals/add/ - 添加租赁
  • /vehicles/ - 车辆管理
  • /admin/ - Django管理后台

数据库配置

项目使用SQLite数据库,文件名为 db.sqlite3,位于项目根目录。

时区和语言

  • 时区:Asia/Shanghai
  • 语言:zh-hans(简体中文)

技术特性

前端界面

  • 现代化UI设计:使用 Bootstrap 5 + Font Awesome 图标
  • 响应式布局:完美适配桌面端和移动端
  • 交互体验:模态框、表单验证、实时预览
  • 门店选择:弹出式门店选择器(支持区域和门店二级选择)
  • 费用预览:实时计算订单费用(租金、押金、异地还车费、超时费)

后端功能

  • 完整的Django项目:基于 Django 5.2.8
  • 数据库模型:Vehicle、Customer、Rental、Review、Payment、Favorite 等完整模型
  • 业务逻辑
    • 自动费用计算(基础租金、VIP折扣、异地还车费、超时费用)
    • 订单状态自动更新(PENDING→ONGOING→OVERDUE)
    • VIP自动升级机制
    • 押金自动退还
    • 订单取消自动退款
    • 动态押金计算:基于车辆价值、租期、信用评分的智能定价
  • 数据验证:多层次验证(表单验证、模型验证、业务规则验证)
  • 性能优化:使用 select_related、数据库索引、查询优化、缓存机制

特色功能

  • 异地还车:支持选择异地还车,自动计算费用
  • 超时还车处理:自动计算超时费用
  • 诚信评价系统:基于还车行为的VIP升级机制
  • 财务系统:完整的支付、退款、结算记录
  • 评价系统:车辆评价展示、评分分布统计
  • 订单状态跟踪:完整的状态流转和自动更新
  • 动态押金系统:智能计算押金,综合考虑车辆价值、租期、信用评分
  • 个性化推荐:基于用户历史订单和偏好分析,智能推荐合适车辆
  • 数据可视化:仪表盘图表展示,包括收入趋势、订单分布等

已实现的高级功能

订单状态自动更新

  • 预订中(PENDING)订单在开始日期自动变为进行中(ONGOING)
  • 进行中(ONGOING)订单在结束日期后自动变为已超时未归还(OVERDUE)
  • 支持管理命令批量更新历史订单

财务管理系统

  • 完整的支付记录(支付、退款)
  • 自动结算状态管理
  • 消费明细报表
  • 退款自动记录和显示

VIP会员系统

  • 自动升级:连续10个订单按时归还且诚信异地还车,自动升级VIP
  • 手动授权:管理员可以手动授予VIP资格
  • 权益享受:VIP用户免押金、9折优惠
  • 进度跟踪:用户可在个人中心查看VIP升级进度

动态押金计算系统

  • 智能定价:根据车辆价值、租期时长、客户信用评分综合计算押金
  • 动态调整
    • 车辆价值越高,基础押金越高(车辆价值的5%)
    • 租期越长,时长系数越大(0-30天,每天增加1%)
    • 信用评分越高,押金系数越小(0-100分)
  • 特殊政策:VIP会员享受免押金优惠
  • 上下限保护:最低为3天租金,最高为车辆价值的15%

个性化推荐系统

  • 多级推荐策略
    • 基于历史订单:分析用户过往租赁记录,推荐相似车型
    • 偏好分析:智能识别用户喜好的品牌、车型、座位数
    • 热门车型:根据租赁次数推荐最受欢迎的车辆
    • 新品推荐:为新用户推荐最新添加的车辆
  • 智能缓存机制:使用缓存提升推荐响应速度,优化用户体验
  • 去重逻辑:自动排除用户已租过的车辆,提供多样化选择
  • 实时状态过滤:只推荐当前可用的车辆,确保推荐准确性

数据可视化仪表盘

  • 收入趋势图:近6个月收入趋势折线图,直观展示业务增长情况
  • 订单分布图:订单状态分布饼图,实时掌握运营状态
  • 关键指标:车辆总数、客户总数、订单总数、本月/今日收入等一目了然
  • 快速操作:2x2网格布局,快速访问常用功能
  • 最近活动:实时显示最新5条订单动态

许可证

本项目仅供学习和演示使用。

About

Car Rental System

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages