基于python+django+vue的新中式交流平台(前后端分离)(源码+文档+部署讲解等)

  

博主主页:猫头鹰源码
博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万+、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作
​主要内容:毕业设计(Javaweb项目|小程序|Python|HTML|数据可视化|SSM|SpringBoot|Vue|Jsp|PHP等)、简历模板、学习资料、面试题库、技术咨询、文档编写和辅导、论文降重、长期答辩答疑辅导、腾讯会议一对一专业讲解辅导答辩
☑️ 文末联系获取

👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到哟

2024年最新计算机软件毕业设计选题大全:数百热门选题推荐✅

2024最新精品毕业设计项目,已整理自取
感兴趣可以先收藏起来,以防走丢,有任何选题、文档编写、代码问题也可以咨询我们
项目不是烂大街的模板项目,手写,代码适合学生学习和二次开发

其它优秀案例看文末

项目介绍

本系统为最新原创项目,采用前后端分离,项目代码工整,结构清晰,适合选题:新中式、中式、商城、交流论坛、传统文化、文化交流、前后端分离类其他新中式话题等。系统采用django+vue整合开发,前端主要使用了vue、项目后端主要使用了django。

功能介绍

1,该项目主要是能够宣传,弘扬新中式文化(传统中式文化与现代元素设计相结合),类似于小红书一样的交流平台。
2,导航栏可有,首页(文化介绍),商城,文化分享(帖子),个人中心,登录注册,问题反馈。
3,主要三大功能模块:
① 首页(文化介绍),包括介绍传统中式风格,中式国潮文化,介绍时代潮流发展,新中式在国内外时尚界的影响力等。
② 文化分享:类似论坛,帖子发布模块,用户能够实现个人帖子的发布,点赞,评论,转发,收藏功能。
③ 商城模块,商品是新中式文化的服装,家具装修风格,美妆妆容,头簪配饰。
商品里面就展示产品图片,简单介绍品牌文化及产品特点,下面用户可评论点赞,其中商品里面需要用到接口,调用链接,当顾客想购买时点击链接直通,跳转到该商品购买主界面。
4,每个模块界面有搜索功能。
5,后台管理员管理功能。

系统包含技术

后端:django
前端:vue2、js、css等
开发工具:pycharm/vscode
数据库:mysql 5.7
JDK版本:jdk1.8

部分截图

首页

文化商城

商城详情

反馈

AI问答

用户管理

商品管理

文化管理

部分代码

class MyPageNumberPagination(PageNumberPagination):
    page_size = 10       # 每页最多显示的条数
    page_query_param = 'page'   # 查询参数
    page_size_query_param = 'size'
    max_page_size = 100   # 最大页数


class ListView(generics.GenericAPIView):
    queryset = Collects.objects.order_by('-create_time')
    # 该视图在进行序列化或反序列化时使用的序列化器
    serializer_class = CollectsSerializer
    pagination_class = MyPageNumberPagination

    def post(self, request):
        try:
            page = request.data.get("page")
            size = request.data.get("size")
            if page:  # 判断请求中是否有page和size参数
                request.query_params._mutable = True  # 让查询参数dict变为可编辑
                request.query_params['page'] = page  # 添加page查询参数
                if size:
                    request.query_params['size'] = size  # 添加size查询参数
                request.query_params._mutable = False  # 让查询参数dict变为不可编辑
            # 条件查询: __contains 模糊
            q1 = Q()
            q1.connector = 'AND'
            if request.data.get("forum"):
                q1.children.append(('forum', request.data.get("forum")))
            if request.data.get("title"):
                q1.children.append(('forum__title__contains', request.data.get("title")))
            if request.data.get("user"):
                q1.children.append(('user', request.data.get("user")))

            item_queryset = self.get_queryset().filter(q1).extra(select={
                'uname': 'SELECT user.username FROM user WHERE collects.user_id = user.id',
                'title': 'SELECT forum.title FROM forum WHERE collects.forum_id = forum.id'
            })
            item_page = self.paginate_queryset(item_queryset)
            if item_page:
                # 将分页后的数据序列化
                item_serializer = CollectsSerializer(instance=item_page, many=True)
                total = item_queryset.count()  # 总数据量
                return JsonResponse({'list': item_serializer.data,'total': total, 'code':0, 'msg':'获取成功'})
            serializer = CollectsSerializer(instance=item_queryset, many=True)
            return JsonResponse({'list': serializer.data, 'code': 0, 'msg':'获取成功'})
        except (ParseError, NotFound) as e:
            print("出现如下异常%s" % e)
            return JsonResponse({'code': 1, 'msg':'请求错误'})


class SaveView(View):

    def post(self, request):
        data = json.loads(request.body.decode("utf-8"))
        print(data)
        if not 'id' in data: #添加
            json_data = request.body.decode("utf-8")
            try:
                dic = json.loads(json_data)
            except Exception as e:
                return JsonResponse({'code': 1, 'msg': '参数有误'})
            filter = Collects.objects.filter(forum=dic.get("forum"),user=dic.get("user"))
            if len(filter)>0:
                return JsonResponse({'code': 1, 'msg': '已收藏,请勿重复收藏'})
            serializer_obj = CollectsSerializer(data=dic)
            if not serializer_obj.is_valid():
                return JsonResponse({'code': 1, 'msg': serializer_obj.errors})
            Collects.objects.create(**serializer_obj.validated_data)
            return JsonResponse({'code': 0, 'msg': '添加成功'})
        else: #修改
            try:
                obj = Collects.objects.get(id=data['id'])
            except Exception as e:
                return JsonResponse({'code': 1, 'msg': '主键有误'})
            # 获取json参数并转化为字典
            try:
                dic = json.loads(request.body)
            except Exception as e:
                return JsonResponse({'code': 1, 'msg': '参数有误'})
            # 序列化,将 用户输入的字典,转化为序列化实例
            serializer_obj = CollectsSerializer(data=dic)
            # 序列化器对用户传入的参数进行校验
            if not serializer_obj.is_valid():
                return JsonResponse({'code': 1, 'msg': serializer_obj.errors})
            # 更新数据
            if 'fid' in dic:
                obj.fid = serializer_obj.validated_data.get('fid')
            if 'uid' in dic:
                obj.uid = serializer_obj.validated_data.get('uid')
            obj.save()
            return JsonResponse({'code': 0, 'msg': '更新成功'})


class DelView(View):

    def get(self, request):
        id = request.GET.get("id")
        Collects.objects.get(pk=id).delete()
        return JsonResponse({'code': 0, 'msg': '删除成功'})

其他优秀案例

 



案例3

项目获取

项目不是烂大街的模板项目,手写,代码适合学生学习和二次开发
大家点赞、收藏、关注、评论啦 、查看👇🏻下方名片👇🏻

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猫头鹰源码(同名B站)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值