【项目实战】基于Python+Django+MySQL的自行车租赁系统(附完整源码)

1、项目说明

基于python+Django+Mysql的自行车租赁系统项目实战

项目需要安装pycharm专业版以及MySQL环境(环境搭建和破解可以看我的B站里的视频有讲解)

  • 首先需要创建数据库数据库名字叫做 db_bike_rent
  • 运行sql导入数据或者也可以直接用命令生成(视频有讲解)
  • 需要安装一下下面的模块(如果运行提示有模块未安装,安装一下即可,命令同下,改一下模块名即可)

项目需要安装 Django、及其附带的其他一些模块
安装命令如下:

 

2、项目主要技术

  • python编程技术

  • mysql数据库技术

  • django框架技术

  • 前端技术

 

3、项目结构

  • WebSite 主程序(项目的配置文件、主路由)

  • Bike 用户操作模块(租还车)以及后台管理系统的注册实现

  • templates 前端页面

  • manage.py 程序的入口

 

4、项目主要功能

  • 用户登录、注册

  • 用户租车、还车

  • 金额计算

  • 管理员管理车辆、定价

 

5、部分源码

models.py

from django.db import models


class Person(models.Model):
    id = models.AutoField('序号', primary_key=True)
    PersonName = models.CharField('用户名', max_length=20)
    PersonPassWord = models.CharField('密码', max_length=20)
    PersonGender = models.CharField('性别', max_length=2)
    PersonPhone = models.CharField('联系电话', max_length=20)
    PersonStatus = models.CharField(max_length=2)
    AccountPayable = models.CharField(max_length=20)
    IsAdmin = models.FloatField()

    # 修改显示的表的名字
    class Meta:
        db_table = "person"
        # 给模型类起一个更可读的名字
        verbose_name = '用户'
        # 模型的复数形式
        verbose_name_plural = '用户信息表'

    # 作为外键显示的字段
    def __str__(self):
        return self.PersonName


class Bike(models.Model):
    id = models.AutoField('序号', primary_key=True)
    BikeType = models.CharField('类型', max_length=20)
    BikeStatus = models.IntegerField('状态', choices=((0, '空闲'), (1, '租出'), (2, '检修')))
    BikeUnitPrice = models.IntegerField('单价', max_length=20)

    # 修改显示的表的名字
    class Meta:
        db_table = "bike"
        # 给模型类起一个更可读的名字
        verbose_name = '自行车'
        # 模型的复数形式
        verbose_name_plural = '自行车信息表'

    # 作为外键显示的字段
    def __str__(self):
        return self.BikeType


class Order(models.Model):
    id = models.AutoField('序号', primary_key=True)
    OrderPersonID = models.ForeignKey(Person, on_delete=models.CASCADE, verbose_name="用户名")
    OrderBikeID = models.ForeignKey(Bike, on_delete=models.CASCADE, verbose_name="车辆类型")
    OrderStartTime = models.CharField('订单开始时间', max_length=30)
    OrderEndTime = models.CharField('订单结束时间', max_length=30)
    OrderAccountPayable = models.IntegerField('租金', max_length=20)

    # 修改显示的表的名字
    class Meta:
        db_table = "order"
        # 给模型类起一个更可读的名字
        verbose_name = '订单'
        # 模型的复数形式
        verbose_name_plural = '订单信息表'

    def __str__(self):
        return self.OrderPersonID.PersonName

 

6、运行截图

 

 

 

 

 

7、项目总结

本项目是一个非常适合学习练手的项目,对我们的Django框架技术以及开发经验的提升,完善简历提高技能都有有很大的帮助,推荐大家学习研究这个项目,搞懂其中的业务逻辑流程以及各个知识点非常关键。
 
项目资料截图:

资料获取地址:https://h5.m.taobao.com/awp/core/detail.htm?ft=t&id=696316790825
B站视频讲解地址:https://www.bilibili.com/video/BV1CW4y1L7R6/
 
注:其他问题请参看视频讲解,都有介绍,一定要认真看完哦!
代码编写、视频录制不易,感谢您的支持,祝您学习愉快!
 

避免走丢,记得关注哦🌹🌹🌹

posted @ 2023-03-16 20:21  兵慌码乱  阅读(2317)  评论(0编辑  收藏  举报