当前位置:   article > 正文

Python毕业设计基于django的婚纱交易和摄影师预约系统 开题报告_摄影预约系统开题报告

摄影预约系统开题报告

文末获取资源,收藏关注不迷路

一、项目介绍

随着Internet的发展,利用网络来收集数据、统计信息成为传统行业的有力助手,所以,计算机技术发展迅速。在目前电子商务逐渐成熟的环境下,建立基于Python的婚纱预约与交易系统,开拓市场,调整租赁交易结构,解决婚纱租赁和购买交易效率低下的问题。基于Python的婚纱预约与交易系统利用电子商务的优势,推广婚纱租赁和购买和交易,帮助婚庆公司打开网络销售的门户,提高婚庆公司的利润,也方便了订购者租赁婚纱,具有非常重要的现实意义。
本文所开发的基于Python的婚纱预约与交易系统,分为后台管理和前台预约与交易。管理员对婚纱进行管理,统计销售订单,前台会员在线预约与交易婚纱。本平台使用Python开发,django为后台开发框架,数据存储在MySQL中。采用统一建模语言进行系统的分析和设计,使用PyCharm开发工具进行编程,最后利用测试用例完成测试。本系统的MVC开发架构有利于系统的扩展和升级,并保障了数据的安全传输,提高了系统可维护性。

系统开发背景

随着互联网技术的发展,各种类型的管理系统深入到人们的工作学习中,不再是最初的资料查询、在线沟通等简单形式的应用。各种统计分析、物联网、人工智能、AI等技术越来越多,特别典型的就是电子商城。电子商城也分为多种类型,包括B2B、B2C、C2C等。还有我们常见的电子商城,指的是B2C,也就是商家和客户,通过网上进行买卖的商务形式,将传统的婚纱管理转移到网络中来。商家通过后台发布自己的婚纱信息,并描述婚纱的特点和优势,也可以通过精美的图片和视频来介绍自己的婚纱。客户查看婚纱的介绍,从而租赁或者购买婚纱,达成租赁或者购买后通过快递物流的形式进行发货和收货,最终完成订单。所以电子商城将客户、商家、物流进行结合,而且还涉及到移动支付环节,这些都是利用信息技术来完成的。
在我国,网上购物的用户越来越多,通过互联网可以解决婚纱租赁和购买的问题。避免了传统因销售不畅,沟通不便的问题,电子商务可以有效的帮助企业提高婚纱的销售渠道。在现阶段,可以没有实体店面,但一定需要电子商城。一个企业要想在竞争中不被淘汰,必须构建多渠道的销售方式,占领更大的市场,单靠实体销售的情况无法适应当前的发展。另外一方面,消费者也需要通过网络进行购买婚纱,在电子商城中,通过查询手段可以方便的进行比价,找到适合自己的婚纱信息,而且最大可能的减少中间商环节。因此,在婚纱租赁和购买中,企业希望开发婚纱租赁和购买平台来帮助提高销售渠道,降低人工成本,推动企业的发展。在当前疫情防控的大环境下,婚纱企业受到许多的限制,唯独通过开发基于Python的婚纱预约与交易系统才能为企业的发展带来希望。

系统开发意义

本文的基于Python的婚纱预约与交易系统是一个典型的电子商务系统,它适用于中小型企业的线上销售,解决了传统销售中信息沟通不畅、价格不透明等问题。通过电子商务系统完成婚纱婚纱结构调整,提高销售渠道,解决买卖双方信息不对称等问题。整体来说,开发基于Python的婚纱预约与交易系统具有以下几点的意义。
扩大了销售范围,提高了婚纱租赁和购买利润。虽然婚纱价格低于传统实体店,但是因为销售成本降低,所以提高了销售利润。
加强了买卖双方的交流沟通,消费者通过网络可以方便的发送问题,企业第一时间内进行回复,提高了消费者的服务感受,也加深了企业形象,更大可能的提高租赁率。
降低了售后纠纷率,消费者在婚纱描述中,可以仔细的查阅介绍,避免了婚纱不实等现象的发生。而且在交流平台中可以第一时间和企业进行沟通,对婚纱全方位的进行了解,从而降低了售后纠纷。
提高了租赁效率,购买者不需要到实体店,只需要利用闲暇的碎片时间查看婚纱,减少了来回到实体店购买婚纱的时间。并且无论婚纱在什么位置,都可以通过物流收件,这也是电子商务的最大优势,随时随地的购买、咨询、沟通。
租赁流程的智能化,消费者通过电子平台购买婚纱,商家通知物流发货,实现流程的智能化,避免了人与人的接触,提高了租赁过程的智能化。

二、主要使用技术

环境需要
1.运行环境:python3.7/python3.8。
2.IDE环境:pycharm+mysql5.7;
3.数据库工具:Navicat11
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.数据库:MySql 5.7版本;
技术栈
后端:python+django
前端:vue+CSS+JavaScript+jQuery+elementui

使用说明
使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
使用PyCharm 导入项目,修改配置,运行项目;
将项目中config.ini配置文件中的数据库配置改为自己的配置,然后运行;
运行成功后,在浏览器中输入:http://localhost:8080/项目名

三、研究内容

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
完成基于Python的婚纱预约与交易系统的系统架构后,对系统的整体功能进行设计,系统从功能划分为前台和后台。后台管理模块分为婚纱管理、订单管理、用户管理、留言管理、系统管理。前台设计包括注册登录模块,婚纱浏览查询,购物车,婚纱订单,个人中心。
在这里插入图片描述
前端利用django进行页面搭建及美化,总体使用python语言。
系统分为四个可登录人员:1、用户可以选择婚纱,预约购买或租赁婚纱;还可以预约摄影人员,选择外景或内景等等。
2、摄影人员分为自由摄影师和门店摄影师,可以接受任务,管理个人信息等等。
3、婚纱设计人员分为自由设计师和门店成品婚纱招待员,这里有展示样品婚纱图的功能,还有购买和租赁功能等等。
4、系统管理员可以对以上三类进行信息的增删改查。
5、还包括拍摄者和婚纱设计者之间的聊天功能和各类人员之间的交易功能。
6、还可以搜索距离最近的门店预约并选择进行线下交易。
7. 数据分析统计,预约量统计,租赁购物订单统计。

在这里插入图片描述
管理员使用基于Python的婚纱预约与交易系统的后台功能模块,对整个平台进行数据管理,在用户管理中查看注册用户的基本信息,也可以删除不符合要求的用户。管理婚纱,包括婚纱的分类和婚纱基本信息,上传婚纱的基本介绍信息内容。管理订单,改变订单的状态,定时发货,查看客户的反馈,及时的处理。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在首页轮播图中插入广告,向消费者介绍租赁多的婚纱。对婚纱进行分类显示,方便消费者点击查看,通过分类可以更容易的查询到对应的婚纱信息。婚纱描述中可以通过图片、视频、文字进行介绍。提供模糊搜索的功能,客户通过一个关键字搜索到对应的婚纱信息。此外,还要具有购物车、收银台、在线支付、订单查询、婚纱评论等基本功能,满足租赁的条件。
会员除了购买或者租赁婚纱外,还可以预约设计师和摄影师,并提出问题,进行咨询。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
设计人员发布婚纱信息,管理自己的婚纱。对购买的订单进行管理,统计订单销售情况。对租赁订单进行审核,还可以回复咨询的设计问题。
在这里插入图片描述
管理员还可以对摄影师和设计人员进行管理,录入人员的信息。而摄影师登录后,可以查看预约的信息,并进行审核。回复会员咨询的相关问题。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、核心代码

# coding:utf-8
__author__ = "ila"

from django.http import JsonResponse

from .users_model import users
from util.codes import *
from util.auth import Auth
import util.message as mes


def users_login(request):
    if request.method in ["POST", "GET"]:
        msg = {'code': normal_code, "msg": mes.normal_code}
        req_dict = request.session.get("req_dict")
        if req_dict.get('role')!=None:
            del req_dict['role']
        datas = users.getbyparams(users, users, req_dict)
        if not datas:
            msg['code'] = password_error_code
            msg['msg'] = mes.password_error_code
            return JsonResponse(msg)

        req_dict['id'] = datas[0].get('id')
        return Auth.authenticate(Auth, users, req_dict)


def users_register(request):
    if request.method in ["POST", "GET"]:
        msg = {'code': normal_code, "msg": mes.normal_code}
        req_dict = request.session.get("req_dict")

        error = users.createbyreq(users, users, req_dict)
        if error != None:
            msg['code'] = crud_error_code
            msg['msg'] = error
        return JsonResponse(msg)


def users_session(request):
    '''
    '''
    if request.method in ["POST", "GET"]:
        msg = {"code": normal_code,"msg":mes.normal_code, "data": {}}

        req_dict = {"id": request.session.get('params').get("id")}
        msg['data'] = users.getbyparams(users, users, req_dict)[0]

        return JsonResponse(msg)


def users_logout(request):
    if request.method in ["POST", "GET"]:
        msg = {
            "msg": "退出成功",
            "code": 0
        }

        return JsonResponse(msg)


def users_page(request):
    '''
    '''
    if request.method in ["POST", "GET"]:
        msg = {"code": normal_code, "msg": mes.normal_code,
               "data": {"currPage": 1, "totalPage": 1, "total": 1, "pageSize": 10, "list": []}}
        req_dict = request.session.get("req_dict")
        tablename = request.session.get("tablename")
        try:
            __hasMessage__ = users.__hasMessage__
        except:
            __hasMessage__ = None
        if __hasMessage__ and __hasMessage__ != "否":

            if tablename != "users":
                req_dict["userid"] = request.session.get("params").get("id")
        if tablename == "users":
            msg['data']['list'], msg['data']['currPage'], msg['data']['totalPage'], msg['data']['total'], \
            msg['data']['pageSize'] = users.page(users, users, req_dict)
        else:
            msg['data']['list'], msg['data']['currPage'], msg['data']['totalPage'], msg['data']['total'], \
            msg['data']['pageSize'] = [],1,0,0,10

        return JsonResponse(msg)


def users_info(request, id_):
    '''
    '''
    if request.method in ["POST", "GET"]:
        msg = {"code": normal_code, "msg": mes.normal_code, "data": {}}

        data = users.getbyid(users, users, int(id_))
        if len(data) > 0:
            msg['data'] = data[0]
        # 浏览点击次数
        try:
            __browseClick__ = users.__browseClick__
        except:
            __browseClick__ = None

        if __browseClick__ and "clicknum" in users.getallcolumn(users, users):
            click_dict = {"id": int(id_), "clicknum": str(int(data[0].get("clicknum", 0)) + 1)}
            ret = users.updatebyparams(users, users, click_dict)
            if ret != None:
                msg['code'] = crud_error_code
                msg['msg'] = ret
        return JsonResponse(msg)


def users_save(request):
    '''
    '''
    if request.method in ["POST", "GET"]:
        msg = {"code": normal_code, "msg": mes.normal_code, "data": {}}
        req_dict = request.session.get("req_dict")
        req_dict['role'] = '管理员'
        error = users.createbyreq(users, users, req_dict)
        if error != None:
            msg['code'] = crud_error_code
            msg['msg'] = error
        return JsonResponse(msg)


def users_update(request):
    '''
    '''
    if request.method in ["POST", "GET"]:
        msg = {"code": normal_code, "msg": mes.normal_code, "data": {}}
        req_dict = request.session.get("req_dict")
        if req_dict.get("mima") and req_dict.get("password"):
            if "mima" not in users.getallcolumn(users,users):
                del req_dict["mima"]
            if "password" not in users.getallcolumn(users,users):
                del req_dict["password"]
        try:
            del req_dict["clicknum"]
        except:
            pass
        error = users.updatebyparams(users, users, req_dict)
        if error != None:
            msg['code'] = crud_error_code
            msg['msg'] = error
        return JsonResponse(msg)


def users_delete(request):
    '''
    '''
    if request.method in ["POST", "GET"]:
        msg = {"code": normal_code, "msg": mes.normal_code, "data": {}}
        req_dict = request.session.get("req_dict")

        error = users.deletes(users,
            users,
            req_dict.get("ids")
        )
        if error != None:
            msg['code'] = crud_error_code
            msg['msg'] = error
        return JsonResponse(msg)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163

五、文章目录

1系统概述 1
1.1 研究背景 1
1.2研究目的 1
1.3系统设计思想 1
2相关技术 3
2.1 MYSQL数据库 3
2.2 B/S结构 3
2.3 Djangot框架简介 4
2.4 VUE框架 4
3系统分析 5
3.1可行性分析 5
3.1.1技术可行性 5
3.1.2经济可行性 5
3.1.3操作可行性 5
3.2系统性能分析 6
3.2.1 系统安全性 6
3.2.2 数据完整性 6
3.3系统界面分析 6
3.4系统流程和逻辑 8
4系统概要设计 9
4.1概述 9
4.2系统结构 10
4.3.数据库设计 11
4.3.1数据库实体 11
4.3.2数据库设计表 13
5系统详细实现 17
5.1 管理员模块的实现 17
5.2用户模块的实现 19
6系统测试 21
6.1概念和意义 21
6.2特性 22
6.3重要性 22
6.4测试方法 23
6.5 功能测试 23
6.6可用性测试 24
6.7性能测试 24
6.8测试分析 24
6.9测试结果分析 25
结论 25
致谢语 26
参考文献 26

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/153961
推荐阅读
相关标签
  

闽ICP备14008679号