文章目录


前言

图片推荐系统是在的数据存储主要通过MySQL。用户在使用应用时产生的数据通过Python语言传递给数据库。通过此方式促进图片推荐信息流动和数据传输效率,提供一个内容丰富、功能多样、易于操作的平台。述了数据库的设计,系统的详细设计部分主要论述了几个主要模块的详细设计过程。
【关键词】图片推荐; Python;MySQL数据库;

一、项目介绍

本次的毕业设计主要就是设计并开发一个图片推荐系统。运用当前Google提供的django 框架来实现对图片信息查询等功能。当然使用的数据库是mysql。系统主要包括个人信息修改,地区管理、用户管理、图片信息管理、系统管理等功能;
本管理系统的用例图根据角色权限进行分类,主要可分为管理员用例和用户用例。
(1)管理员用例图
管理员用例图依据管理员的权限需求以及对系统的管理需求进行分析,主要包括了登录、个人信息修改、地区管理、用户管理、图片信息管理、系统管理等,管理员用例图如下所示:
在这里插入图片描述

图3-1 管理员用例图

(2)用户用例图
用户用例图根据用户的需求进行分析,包括首页、图片信息、新闻资讯、个人中心等。用户用例图如下所示:
在这里插入图片描述

图3-2用户用例图

二、开发环境

开发语言:Python
python框架:django
软件版本:python3.7/python3.8
数据库:mysql 5.7或更高版本
数据库工具:Navicat11
开发软件:PyCharm/vs code
前端框架:vue.js
————————————————

三、功能介绍

如图4-1是该系统软件的总体功能结构图:
在这里插入图片描述

图4-1 总体功能结构图

四、核心代码

部分代码:


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)


五、效果图

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

六、文章目录

目 录

1 概 述 5
1.1 研究背景 5
1.2 研究意义 5
1.3 研究内容 5
2 关键技术介绍 7
2.1 PYTHON语言简介 7
2.2 MySql数据库 7
2.3 FLASK框架 8
2.4 Hadoop介绍 8
2.5 Scrapy介绍 9
2.6 B/S架构 9
3 系统分析 10
3.1可行性分析 10
3.1.1经济可行性 10
3.1.2技术可行性 10
3.1.3运行可行性 10
3.2 系统用例分析 10
3.3流程设计 12
3.3.1程序流程图设计 12
3.3.2添加信息流程图设计 12
3.3.3删除信息流程图设计 13
4 系统的设计 14
4.1 系统总功能模块设计 14
4.2 系统数据库设计 14
4.2.1 数据库系统概要设计 14
4.2.2 E-R模型结构设计 14
4.3数据表设计 16
5 系统的实现 21
5.1系统功能实现 21
5.2后台管理员模块实现 22
6系统测试 26
6.1系统测试的目的 26
6.2软件测试过程 26
6.3测试用例 27
结论 29
致谢 30

Logo

永洪科技,致力于打造全球领先的数据技术厂商,具备从数据应用方案咨询、BI、AIGC智能分析、数字孪生、数据资产、数据治理、数据实施的端到端大数据价值服务能力。

更多推荐