计算机毕业设计:基于python二手商品交易网站 二手商品交易系统(附源码)✅

2023-12-17

博主介绍:✌全网粉丝10W+,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相关专业 毕业设计 项目实战6年之久✌感兴趣的可以先收藏起来,点赞、关注不迷路✌

毕业设计:2023-2024年计算机专业毕业设计选题汇总(建议收藏)

毕业设计:2023-2024年最新最全计算机专业毕设选题推荐汇总

1、项目介绍

技术栈:
Python语言、Django框架、MySQL数据库、HTML、基于python的二手交易市场网站

本文设计并实现一个基于web网页的二手物品交易系统-再市场,整个网站项目使用了B/S架构,基于python的Django框架下开发;
用户通过登录网站,查询并购买二手交易商品,同时买家也可作为卖家发布二手交易商品、管理商品、处理订单消息;管理员通过后台管理所有的商品、订单等

2、项目界面

(2)系统首页—商品分类
在这里插入图片描述

(2)商品分类
在这里插入图片描述

(3)商品详情页和购物车功能
在这里插入图片描述
(4)购物车和订单功能

在这里插入图片描述
(5)个人信息页面
在这里插入图片描述

(6)后台数据管理
在这里插入图片描述

3、项目说明

主要功能模块,包括以下功能:
1、用户(买家/卖家)功能模块
(1)商品浏览:包括首页宣传图、广告、分类目录;分类商品依次排列,包括售价,种类,卖家、简介以及库存等信息。
(2)商品评论:用户在购买了商品后会出现商品评论功能。
(3)全文检索:支持对商品种类以及商品名称,简介的关键字检索。
(4)登录注册:用户的登录与注册功能。
(5)网站使用协议:协议签属才能使用。
(6)用户中心:支持用户个人信息,发布商品,修改密码,修改个人信息,查看全部订单,修改收货地址等功能。
(7)购物车:商品加入购物车,选择商品及数量,结算后生成订单。
(8)消息中心:支持卖家和买家爱的沟通。
(9)卖家中心:在商品详细信息中通过”联系卖家“或则在评论区通过用户头像进入,可以查询卖家资料,出售记录,上架商品等信息,发送消息联系卖家。
(10)商品下单:包括选择收货地址和支付方式可完成商品的下单功能,按照原子事务处理,下单异常则终止此次下单过程。
2、后台管理员模块
后台管理:支持后台管理功能,包括快捷操作、最近动作显示,商品数据库,用户数据库,订单数据库,购物车数据库的展示,搜索,修改等功能日志。

4、核心代码


def load_data_set(user):

    """
    get_user_order
    :param user:
    :return: 返回用户的订单列表,列表中为商品的主键id
     for example [['1', '2'], ['2', '34']]:表示购买进行过两次采购,一次购买1和2号商品,二次购买2号和34号商品
    """

    user_order_list = []
    for big_order in user.orderinfo_set.all():
        user_little_order_list = [str(good.goods.id) for good in big_order.orderdetailinfo_set.all()]
        user_order_list.append(user_little_order_list)

    data_set = user_order_list
    return data_set


from django.db import transaction
from django.http import JsonResponse
from django.shortcuts import render, HttpResponse

from datetime import datetime
from decimal import Decimal

from .models import OrderInfo, OrderDetailInfo
from df_cart.models import CartInfo
from df_user.models import UserInfo
from df_user import user_decorator


@user_decorator.login
def order(request):
    uid = request.session['user_id']
    user = UserInfo.objects.get(id=uid)
    cart_ids = request.GET.getlist('cart_id')
    carts = []
    total_price = 0
    for goods_id in cart_ids:
        cart = CartInfo.objects.get(id=goods_id)
        carts.append(cart)
        total_price = total_price + float(cart.count) * float(cart.goods.gprice)

    total_price = float('%0.2f' % total_price)
    trans_cost = 10  # 运费
    total_trans_price = trans_cost + total_price
    context = {
        'title': '提交订单',
        'page_name': 1,
        'user': user,
        'carts': carts,
        'total_price': float('%0.2f' % total_price),
        'trans_cost': trans_cost,
        'total_trans_price': total_trans_price,
        # 'value':value
    }
    return render(request, 'df_order/place_order.html', context)

'''
事务提交:
这些步骤中,任何一环节一旦出错则全部退回1
1. 创建订单对象
2. 判断商品库存是否充足
3. 创建 订单 详情 ,多个
4,修改商品库存
5. 删除购物车
'''


@user_decorator.login
@transaction.atomic()  # 事务
def order_handle(request):
    uid = request.session['user_id']
    user = UserInfo.objects.get(id=uid)
    tran_id = transaction.savepoint()  # 保存事务发生点
    cart_ids = request.POST.get('cart_ids')  # 用户提交的订单购物车,此时cart_ids为字符串,例如'1,2,3,'
    user_id = request.session['user_id']  # 获取当前用户的id
    data = {}
    try:
        order_info = OrderInfo()  # 创建一个订单对象
        now = datetime.now()
        order_info.oid = '%s%d' % (now.strftime('%Y%m%d%H%M%S'), user_id)  # 订单号为订单提交时间和用户id的拼接
        order_info.odate = now  # 订单时间
        order_info.user_id = int(user_id)  # 订单的用户id
        order_info.ototal = Decimal(request.POST.get('total'))  # 从前端获取的订单总价
        order_info.oaddress = user.uaddress
        order_info.save()  # 保存订单

        for cart_id in cart_ids.split(','):  # 逐个对用户提交订单中的每类商品即每一个小购物车
            cart = CartInfo.objects.get(pk=cart_id)  # 从CartInfo表中获取小购物车对象
            order_detail = OrderDetailInfo()  # 大订单中的每一个小商品订单
            order_detail.order = order_info  # 外键关联,小订单与大订单绑定
            goods = cart.goods  # 具体商品
            if cart.count <= goods.gkucun:  # 判断库存是否满足订单,如果满足,修改数据库
                goods.gkucun = goods.gkucun - cart.count
                goods.save()
                order_detail.goods = goods
                order_detail.price = goods.gprice
                order_detail.count = cart.count
                order_detail.username=user.uname
                order_detail.shopername = goods.gunit
                order_detail.save()
                cart.delete()  # 并删除当前购物车
            else:  # 否则,则事务回滚,订单取消
                transaction.savepoint_rollback(tran_id)
                return HttpResponse('库存不足')
        data['ok'] = 1
        transaction.savepoint_commit(tran_id)
    except Exception as e:
        print("%s" % e)
        print('未完成订单提交')
        transaction.savepoint_rollback(tran_id)  # 事务任何一个环节出错,则事务全部取消
    return JsonResponse(data)


@user_decorator.login
def pay(request):
    pass

????✌ 感兴趣的可以先收藏起来,点赞关注不迷路,想学习更多项目可以查看主页,大家在毕设选题,项目代码以及论文编写等相关问题都可以给我留言咨询,希望可以帮助同学们顺利毕业! ????✌

源码获取:

???? 由于篇幅限制,获取完整文章或源码、代做项目的,拉到文章底部即可看到个人联系方式。 ????

点赞、收藏、关注,不迷路, 下方查看 ???????? 获取联系方式 ????????

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

计算机毕业设计:基于python二手商品交易网站 二手商品交易系统(附源码)✅ 的相关文章

随机推荐

  • GoLong的学习之路,进阶,Viper(yaml等配置文件的管理)

    本来有今天是继续接着上一章写微服务的 但是这几天有朋友说 再写Web框架的时候 遇到一个问题 就是很多的中间件 redis 微信 mysql mq 的配置信息写的太杂了 很不好管理 希望我能写一篇有管理配置文件的 所以这篇就放到今天写吧 微
  • 【抄作业】ImportError :cannot import name xxxxxx ,原博主Activewaste

    前情介绍 网上关于这种问题的解决方案一大堆 但是绝大多数都是不适用 或者说解决不了问题 我根据别人所遇到的和我自己遇到的 对这个问题整理了一下 希望能解决这个问题 问题分析 一 缺少这个module或者func或者package 缺少pyt
  • 波奇学Linux:环境变量,本地变量和内建命令

    Windows下的环境变量 echo PATH 查看指令搜索命令路径 在bash命令行输入的指令 系统根据PATH中的路径查询 增加PATH指令 PATH等于上面的路径 表示不同路径分割符 home boki lesson13代表新的路径
  • 基于java中SSM框架实现门诊药品管理系统演示【附项目源码+论文说明】

    基于java中SSM框架实现门诊药品管理系统演示 摘要 21世纪的今天 随着社会的不断发展与进步 人们对于信息科学化的认识 已由低层次向高层次发展 由原来的感性认识向理性认识提高 管理工作的重要性已逐渐被人们所认识 科学化的管理 使信息存储
  • 数说CS | 不招学硕?拟录取人数持续增长?北大软件与微电子学院为何如此热门?

    写在前面 北京大学软件与微电子学院 软件工程学科评估为A类 招收哪些专业 保研录取情况如何 今天 岛主就带你 深度揭秘北京大学软件与微电子学院 01 院校介绍 北京大学软件与微电子学院成立于2002年3月 如今已形成了一个学院 北京大学软件
  • 数说CS | 拟录取名额上涨,开设九推?上岸复旦大学计算机科学与技术学院更轻松了吗?

    写在前面 复旦大学计算机科学技术学院 学科评估为A类 招收哪些专业 保研录取情况如何 今天 岛主就带你 深度揭秘复旦大学计算机科学技术学院 01 院校介绍 复旦大学计算机学科创建于 中国计算机事业的起步期 始于 1956 年自主建造的国内第
  • 工业级路由器在货运物流仓储管理中的应用

    工业级路由器在货运物流仓储管理中扮演着重要的角色 为整个物流系统提供了稳定可靠的网络连接和数据传输支持 下面将从以下几个方面介绍工业级路由器在货运物流仓储管理中的应用 实时监控和追踪 工业级路由器通过与各种传感器 监控设备和物联网设备的连接
  • 人工智能自然语言处理:语言之美,算法之智

    导言 自然语言处理 Natural Language Processing NLP 是人工智能领域中备受关注的分支 致力于让计算机能够理解 处理和生成人类语言 本文将深入研究人工智能在自然语言处理领域的关键技术 应用场景以及未来发展趋势 1
  • 学长休学一年强势回归,截胡了我的保研名额……

    写在前面 保研是一场持久的战役 从评定保研资格到申请梦校offer 每一步都需要保研er费尽九牛二虎之力 其中 最怕的便是半路杀出个程咬金 让一切的努力化为乌有 算到了加分刺客 算到了名额变动 独独没想到 被上届休学归来的学长姐挤占了保研名
  • 人工智能计算机视觉:解析现状与未来趋势

    导言 随着人工智能的迅速发展 计算机视觉技术逐渐成为引领创新的关键领域 本文将深入探讨人工智能在计算机视觉方面的最新进展 关键挑战以及未来可能的趋势 1 简介 计算机视觉是人工智能的一个重要分支 其目标是使机器具备类似于人类视觉的能力 这一
  • C++函数模板与类模板

    目录 C 模板定义 函数模板 类模板 类模板的定义 模板的优缺点 模板的优点 模板的缺点 C 模板定义 C 模板允许程序员在通用编程中创建可重用的代码 这种编程技术基于模板的编
  • echarts环形饼图

    效果示例 代码汇总 pieCharts let data const providerResult name 智诺 value 23 name 海康 value 5 name 大华 value 5 name 云科 value 23 name
  • 开考在即?四六级押题卷免费送!

    距12月16日四六级考试 还有 1个多月 的时间啦 在这短短一月时间里 只有 考前押题和历年真题 才能在短时间内帮助到你们 所以 岛主给你们准备了 今年 12月四六级绝密押题卷 还包含 历年真题卷 答案详解 没有时间复习 想考前突击一下的同
  • 在openEuler上安装openGauss2023年12月最新openGauss5.0.0LTS版本全图片解析

    先说环境 虚拟机 openEuler22 03 LTS ip 192 168 88 129 普通用户 yirc99 和 root用户 主机win10 要安装的数据库 openGauss 5 0 0 LTS 在下面的文章中可能会出现命令不存在
  • 迅为IMX6UL核心板在便携式医疗设备中的应用方案

    在科技日益发展的今天 便携式医疗设备变得越来越受欢迎 这些小巧 轻便的设备 例如IMX6UL核心板 为医疗行业带来了巨大的变革 它们不仅便于携带 而且集成了多种功能 满足了人们对健康管理的各种需求 便携式医疗设备在当今社会越来越受到欢迎 这
  • 两路wav文件读取解析和混音输出并使用WaveOut相关API播放

    目录 wav文件格式简介 wav文件头定义 读取wav文件 读取背景音文件 音频混音 使用Windows WaveOut 相关API播放混音后的音频数据 将混音后的数据保存到新的wav文件中
  • 数字化和数智化一字之差,究竟有何异同点?

    在2023杭州云栖大会的一展台内 桌子上放着一颗番茄和一个蛋糕 一旁的机器人手臂融入 通义千问 大模型技术后 变得会 思考 不仅能描述 看 到了什么 还能确认抓取的是番茄而不是蛋糕 传统的机械臂通常都只能基于预设的指令和流程来执行任务 引入
  • FMOD Core API 指南

    目录 3 Core API 指南 3 1 什么是 Core API 3 2 链接的插件 3 2 1 静态 3 2 2 动态 3 3 API 功能
  • gdi32.dll文件缺失导致程序无法运行问题

    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题 如果是新手第一时间会认为是软件或游戏出错了 其实并不是这样 其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库 这时你可以下载这个gdi32 d
  • 计算机毕业设计:基于python二手商品交易网站 二手商品交易系统(附源码)✅

    博主介绍 全网粉丝10W 前互联网大厂软件研发 集结硕博英豪成立工作室 专注于计算机相关专业 毕业设计 项目实战6年之久 感兴趣的可以先收藏起来 点赞 关注不迷路 毕业设计 2023 2024年计算机专业毕业设计选题汇总 建议收藏 毕业设计