基于python的汽车资讯系统的设计与实现

💖🔥作者主页计算机毕设IT宝
精彩专栏推荐订阅:在 下方专栏👇🏻👇🏻👇🏻👇🏻

Java实战项目

一、项目介绍

随着科技的进步和汽车工业的发展,人们对汽车的需求和认知不断提高。为了满足消费者对于汽车信息的需求,汽车资讯系统应运而生。Python作为一种高效、简洁的编程语言,适合用于设计和实现汽车资讯系统。本论文旨在探讨基于Python的汽车资讯系统的设计与实现。

本系统旨在为用户提供全面的汽车信息,包括汽车价格、性能参数、车型对比、新车发布、行业动态等。系统采用Python作为主要编程语言,利用Python丰富的库和框架进行开发。系统主要分为前端和后端两部分,前端负责用户交互,后端负责数据处理和业务逻辑。

二、项目功能介绍

一、首页

在首页,用户可以快速浏览各种汽车信息。首页的设计以简洁明了为主,通过动态轮播图展示最新汽车信息,同时设有热门汽车、品牌推荐等板块,使用户能够快速找到自己关注的汽车信息。

二、经销商

经销商模块为用户提供了各地经销商的信息,用户可以根据所在地区进行筛选,方便用户找到附近的汽车经销商。同时,该模块还提供了在线预约试驾、购车计算器等功能,使用户能够更加方便地了解和购买汽车。

三、汽车信息

本系统提供了全面的汽车信息查询功能。用户可以通过搜索或筛选找到自己所需的汽车信息,包括车型介绍、价格、性能参数、图片、视频等。此外,系统还支持多种对比方式,使用户能够更加直观地比较不同汽车之间的差异。

四、资讯公告

资讯公告模块为用户提供了最新的汽车行业动态和新闻,包括新车发布、行业政策、技术革新等。用户可以随时了解汽车行业的最新动态,为自己购车提供参考。

五、留言反馈

本系统提供了留言反馈功能,用户可以在线向经销商或平台提出疑问或建议,我们会尽快回复并处理您的留言信息,以便更好地完善我们的服务。此外,用户还可以通过该模块查看其他用户的购车经验和使用心得,以便更好地了解汽车信息和做出明智的购车决策。

三、开发环境

  • 开发语言:Python
  • 数据库:MySQL
  • 系统架构:B/S
  • 后端:Django
  • 前端:Vue+HTML+CSS+JavaScript+jQuery
  • 工具:PyCharm

四、项目展示

首页模块:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
管理员模块:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

五、代码展示

class Corporate_Business:

    def __init__(self, data):
        # 从文件中加载UI定义

        # 从 UI 定义中动态 创建一个相应的窗口对象
        # 注意:里面的控件对象也成为窗口对象的属性了
        # 比如 self.ui.button , self.ui.textEdit
        self.window = uic.loadUi(path + "/window/Corporate_Business.ui")
        # 调用QIcon构造函数时,我们需要提供要显示的图标的路径(相对或绝对路径)。
        self.window.setWindowIcon(QIcon(path + "/windowImage/frameICO.ico"))
        self.window.setWindowTitle("租赁数据")

        # 自定义属性
        self.DataTime_start = None
        self.DataTime_end = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')

        # UI settings

        # 1.1 选定时间
        # 当日期时间改变时触发槽函数
        self.window.dateTimeEdit1.dateTimeChanged.connect(lambda: self.startDateTimeChanged())
        self.window.dateTimeEdit2.dateTimeChanged.connect(lambda: self.endDateTimeChanged())

        # 1.2 时间选定--->点击确定
        self.window.pushButton1.clicked.connect(lambda: self.DateTimeMakesure())

        # 2.点击展开数据,直接将客户数据填入表中
        self.window.allCustomer_button.clicked.connect(lambda: self.AddCustomerData2table())

        # 3.司机一页中
        # 司机状态:外勤
        self.window.workingDriver.clicked.connect(lambda: self.workingDriverData2table())
        # 司机状态:在班
        self.window.workDriver.clicked.connect(lambda: self.workDriverData2table())
        # 司机状态:休假
        self.window.NoworkDriver.clicked.connect(lambda: self.NoworkDriverData2table())
        # 司机状态:全部
        self.window.allDriver.clicked.connect(lambda: self.allDriverData2table())

        # 4.汽车一页中
        # 汽车状态:可用
        self.window.work_car.clicked.connect(lambda: self.workCarData2table())
        # 汽车状态:外勤
        self.window.working_car.clicked.connect(lambda: self.workingCarData2table())
        # 汽车状态:维修
        self.window.repair_car.clicked.connect(lambda: self.repairCarData2table())
        # 汽车状态:全部
        self.window.all_car.clicked.connect(lambda: self.allCarData2table())

        # 数据库
        self.DB = data

    # 获取开始时间
    def startDateTimeChanged(self):
        # 开始时间获取
        print("startDateTime:", self.window.dateTimeEdit1.dateTime())
        self.DataTime_start = self.window.dateTimeEdit1.dateTime()

    # 获取结束时间
    def endDateTimeChanged(self):
        # 结束时间获取
        print("endDateTime:", self.window.dateTimeEdit2.dateTime())
        self.DataTime_end = self.window.dateTimeEdit2.dateTime()

    # 确定时间,按照时间选择租赁业务展示
    def DateTimeMakesure(self):
        # 点击确定,输出该时间段的所有租赁业务
        # 时间段为startDataTime---endDatatime
        print("function --> DateTimeMakesure, 租赁业务表中添加数据")
        # ##### 数据库查找数据,添加数据
        sql = "SELECT * FROM rent_business"

        try:
            self.DataTime_start = self.DataTime_start.toPyDateTime()
            self.DataTime_end = self.DataTime_end.toPyDateTime()
            print(self.DataTime_start, self.DataTime_end)

            self.DataTime_start = datetime.datetime.strptime(str(self.DataTime_start), "%Y-%m-%d %H:%M:%S")
            self.DataTime_end = datetime.datetime.strptime(str(self.DataTime_end), "%Y-%m-%d %H:%M:%S")
            print(self.DataTime_start, self.DataTime_end)
        except Exception as e:
            print(e)

        #sql = "SELECT * FROM rent_business WHERE rent_date >= {0} AND rent_date <= {1}".format(self.DataTime_start, self.DataTime_end)
        '''执行SQL语句'''
        cursor = self.DB.cursor()
        for i in range(1):
            try:
                cursor.execute(sql)
                result = cursor.fetchall()
                print(result)
                self.window.Lease_Business_Table.setRowCount(len(result))
                for row_num in range(len(result)):
                    for column in range(10):
                        self.window.Lease_Business_Table.setItem(row_num, column,
                                                                 QTableWidgetItem(str(result[row_num][column])))
            except Exception as e:
                logging.error(e)
                self.DB.rollback()
                print("查询失败")
            cursor.close()
            pass

    # 添加顾客信息至数据表
    def AddCustomerData2table(self):
        print("function --> AddCustomerData2table, 客户表中添加数据")
        # 在表中添加数据
        # ##### 数据库查找数据,添加数据
        sql = "SELECT * FROM customer"
        '''执行SQL语句'''
        cursor = self.DB.cursor()
        for i in range(1):
            try:
                cursor.execute(sql)
                result = cursor.fetchall()
                print(result)
                self.window.Customer_table.setRowCount(len(result))
                for row_num in range(len(result)):
                    for column in range(6):
                        self.window.Customer_table.setItem(row_num, column,
                                                           QTableWidgetItem(str(result[row_num][column])))
            except Exception as e:
                logging.error(e)
                self.DB.rollback()
                print("查询失败")
            cursor.close()
        pass

    # 输出外勤司机信息
    def workingDriverData2table(self):
        print("输出外勤司机信息")
        condition = '外勤'
        # ##### 数据库查找数据,添加数据
        sql = "SELECT * FROM driver WHERE driver_work_status = 0"  # 外勤  在班  休假  全部
        '''执行SQL语句'''
        cursor = self.DB.cursor()
        for i in range(1):
            try:
                cursor.execute(sql)
                result = cursor.fetchall()
                print(result)
                self.window.Driver_table.setRowCount(len(result))
                for row_num in range(len(result)):
                    for column in range(6):
                        self.window.Driver_table.setItem(row_num, column,
                                                         QTableWidgetItem(str(result[row_num][column])))
            except Exception as e:
                logging.error(e)
                self.DB.rollback()
                print("查询失败")
            cursor.close()
        pass

    # 输出在班司机信息
    def workDriverData2table(self):
        print("输出在班司机信息")
        condition = '在班'

        # ##### 数据库查找数据,添加数据
        sql = "SELECT * FROM driver WHERE driver_work_status = 1"  # 外勤  在班  休假  全部
        '''执行SQL语句'''
        cursor = self.DB.cursor()
        for i in range(1):
            try:
                cursor.execute(sql)
                result = cursor.fetchall()
                print(result)
                self.window.Driver_table.setRowCount(len(result))
                for row_num in range(len(result)):
                    for column in range(6):
                        self.window.Driver_table.setItem(row_num, column,
                                                         QTableWidgetItem(str(result[row_num][column])))
            except Exception as e:
                logging.error(e)
                self.DB.rollback()
                print("查询失败")
            cursor.close()
        pass
        pass

    # 输出休假司机信息
    def NoworkDriverData2table(self):
        print("输出休假司机信息")
        condition = '休假'

        # ##### 数据库查找数据,添加数据
        sql = "SELECT * FROM driver WHERE driver_work_status = 2"  # 外勤  在班  休假  全部
        '''执行SQL语句'''
        cursor = self.DB.cursor()
        for i in range(1):
            try:
                cursor.execute(sql)
                result = cursor.fetchall()
                print(result)
                self.window.Driver_table.setRowCount(len(result))
                for row_num in range(len(result)):
                    for column in range(6):
                        self.window.Driver_table.setItem(row_num, column,
                                                         QTableWidgetItem(str(result[row_num][column])))
            except Exception as e:
                logging.error(e)
                self.DB.rollback()
                print("查询失败")
            cursor.close()
        pass
        pass

    # 输出全部司机信息
    def allDriverData2table(self):
        print("输出全部司机信息")
        condition = '全部'

        # ##### 数据库查找数据,添加数据
        sql = "SELECT * FROM driver"  # 外勤  在班  休假  全部
        '''执行SQL语句'''
        cursor = self.DB.cursor()
        for i in range(1):
            try:
                cursor.execute(sql)
                result = cursor.fetchall()
                print(result)
                self.window.Driver_table.setRowCount(len(result))
                for row_num in range(len(result)):
                    for column in range(6):
                        self.window.Driver_table.setItem(row_num, column,
                                                         QTableWidgetItem(str(result[row_num][column])))
            except Exception as e:
                logging.error(e)
                self.DB.rollback()
                print("查询失败")
            cursor.close()
        pass

    # 输出可用汽车信息
    def workCarData2table(self):
        print("输出可用汽车信息")
        condition = '可用'

        # ##### 数据库查找数据,添加数据
        sql = "SELECT * FROM car WHERE car_status = 0"  # 可用  外勤  维修  全部
        '''执行SQL语句'''
        cursor = self.DB.cursor()
        for i in range(1):
            try:
                cursor.execute(sql)
                result = cursor.fetchall()
                print(result)
                self.window.Car_table.setRowCount(len(result))
                for row_num in range(len(result)):
                    for column in range(9):
                        self.window.Car_table.setItem(row_num, column,
                                                      QTableWidgetItem(str(result[row_num][column])))
            except Exception as e:
                logging.error(e)
                self.DB.rollback()
                print("查询失败")
            cursor.close()
        pass

    # 输出外勤汽车信息
    def workingCarData2table(self):

        print("输出外勤汽车信息")
        condition = '外勤'

        # ##### 数据库查找数据,添加数据
        sql = "SELECT * FROM car WHERE car_status = 1"  # 可用  外勤  维修  全部
        '''执行SQL语句'''
        cursor = self.DB.cursor()
        for i in range(1):
            try:
                cursor.execute(sql)
                result = cursor.fetchall()
                print(result)
                self.window.Car_table.setRowCount(len(result))
                for row_num in range(len(result)):
                    for column in range(9):
                        self.window.Car_table.setItem(row_num, column,
                                                      QTableWidgetItem(str(result[row_num][column])))
            except Exception as e:
                logging.error(e)
                self.DB.rollback()
                print("查询失败")
            cursor.close()
        pass

    # 输出维修汽车信息
    def repairCarData2table(self):
        print("输出维修汽车信息")
        condition = '维修'

        # ##### 数据库查找数据,添加数据
        sql = "SELECT * FROM car WHERE car_status = 2"  # 可用  外勤  维修  全部
        '''执行SQL语句'''
        cursor = self.DB.cursor()
        for i in range(1):
            try:
                cursor.execute(sql)
                result = cursor.fetchall()
                print(result)
                self.window.Car_table.setRowCount(len(result))
                for row_num in range(len(result)):
                    for column in range(9):
                        self.window.Car_table.setItem(row_num, column,
                                                      QTableWidgetItem(str(result[row_num][column])))
            except Exception as e:
                logging.error(e)
                self.DB.rollback()
                print("查询失败")
            cursor.close()
        pass

    # 输出全部汽车信息
    def allCarData2table(self):
        print("输出全部汽车信息")
        condition = '全部'

        # ##### 数据库查找数据,添加数据
        sql = "SELECT * FROM car "  # 可用  外勤  维修  全部
        '''执行SQL语句'''
        cursor = self.DB.cursor()
        for i in range(1):
            try:
                cursor.execute(sql)
                result = cursor.fetchall()
                print(result)
                self.window.Car_table.setRowCount(len(result))
                for row_num in range(len(result)):
                    for column in range(9):
                        self.window.Car_table.setItem(row_num, column,
                                                      QTableWidgetItem(str(result[row_num][column])))
            except Exception as e:
                logging.error(e)
                self.DB.rollback()
                print("查询失败")
            cursor.close()
        pass


if __name__ == '__main__':
    app = QApplication([])
    dataBase = MySQL()
    data = dataBase.connect()
    BusinessData = Corporate_Business(data)
    BusinessData.window.show()
    app.exec_()

六、项目总结

本文旨在探讨基于Python的汽车资讯系统的设计与实现。通过系统地阐述研究目的、综述相关文献、采用合理的研究方法,文章详细地描述了汽车资讯系统的实现过程和结果,并得出了结论与未来展望。

首先,本文的研究目的是设计和实现一个基于Python的汽车资讯系统,以提高汽车销售和售后服务的效率和质量。通过开发这样一个系统,希望能够更好地满足消费者对于汽车信息的需求,同时为汽车厂商和经销商提供更高效、智能化的解决方案。

在文献综述方面,文章梳理了汽车资讯系统的发展历程、现状和发展趋势,以及Python在计算机领域的应用。通过对前人研究的评价和总结,明确了研究的主要目标和意义。

在研究方法上,本文采用了文献综述、实地调查、实验设计和数据分析等多种方法。其中,文献综述主要从理论层面提供了研究的背景和基础;实地调查和实验设计则从实践角度出发,对系统的设计和实现进行了深入的研究;数据分析则对系统的性能和用户反馈进行了定量的评估。

在研究结果方面,本文详细地描述了基于Python的汽车资讯系统的设计和实现过程。具体地,系统包括首页、经销商、汽车信息、资讯公告和留言反馈等模块,各模块之间相互独立又有机联系。此外,文章还对系统的功能和性能进行了客观的描述和解释,包括系统的响应速度、数据准确性和用户友好性等方面。

大家点赞、收藏、关注、有问题都可留言交流👇🏻👇🏻👇🏻

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值