目      录

摘要

Abstract

1 绪论

1.1 开发背景

1.2 开发意义

1.3 国内外研究现状

1.3.1 国内研究现状

1.3.2 国外研究现状

2 相关技术介绍

2.1 Django框架介绍

2.2 Python语言

2.3 MySQL数据库

2.4 B/S模式

2.5 PyCharm

2.6 协同过滤算法

3 系统分析

3.1 可行性分析

3.1.1 技术可行性

3.1.2 经济可行性

3.1.3 操作可行性

3.2 系统功能需求

3.2.1 普通用户主要功能

3.2.2 管理员主要功能

3.3 非功能性需求分析

3.4 系统用户用例分析

3.4.1 普通用户用例图

3.4.2 管理员用例图

3.5 系统流程分析

3.5.1 系统操作流程图

3.5.2 系统登录流程图

3.5.3 用户注册流程图

4 系统设计

4.1 系统设计原则

4.2 功能模块设计

4.3 数据库设计

4.3.1 概念设计

4.3.2 逻辑设计

5 系统实现

5.1 普通用户主要功能实现

5.1.1 用户注册模块

5.1.2 用户登录模块

5.1.3 首页模块

5.1.4 交流论坛模块

5.1.5 中药信息模块

5.1.6 在线咨询模块

5.2 管理员主要功能实现

5.2.1 中药数据管理模块

5.2.2 中药信息管理模块

5.2.3 在线咨询管理模块

5.2.4 交流管理模块

6 系统测试

6.1 测试目的

6.2 测试用例

6.3 测试结果

结论

致谢

参考文献

附录

摘  要:随着互联网技术的快速发展和大数据时代的到来,中药的智能推荐系统成为提升中药使用效率的重要手段。本研究旨在设计并实现一个基于大数据分析的中成药推荐系统,以满足用户的个性化需求,提升推荐效率和质量。该系统采用Python作为主要开发语言,利用Django框架构建后端服务,通过MySQL数据库进行数据存储和管理,并使用B/S架构实现用户友好的网页端界面。同时,应用协同过滤算法,基于用户的历史行为数据,为用户提供个性化的中药推荐。主要面向普通用户和管理员两类角色,实现了包括用户管理、交流论坛、网站公告、中医资讯、中药信息、在线咨询等核心功能。最终经过功能验证和性能测试,确保系统在实际应用中的可行性和高效性。本系统的成功实现,能够有效提高个性化推荐的精确性和质量,提升用户在中药选择过程中的效率与满意度,并为中药信息的管理提供了新的思路和手段,推动中药信息管理的信息化发展,具有重要的实际应用意义。

关键词:中成药推荐系统;Django;Python;协同过滤

Abstract:With the rapid development of Internet technology and the arrival of the era of big data, the intelligent recommendation system of traditional Chinese medicine has become an important means to improve the efficiency of the use of traditional Chinese medicine. The purpose of this research is to design and implement a traditional Chinese patent medicines and simple preparations recommendation system based on big data analysis to meet the personalized needs of users and improve the efficiency and quality of recommendation. The system uses Python as the main development language, builds backend services using Django framework, stores and manages data through MySQL database, and implements a user-friendly web interface using B/S architecture. At the same time, collaborative filtering algorithms are applied to provide personalized Chinese medicine recommendations based on users' historical behavior data. It mainly targets two types of roles: ordinary users and administrators, and implements core functions including user management, communication forums, website announcements, traditional Chinese medicine information, traditional Chinese medicine information, online consultation, etc. After functional verification and performance testing, the feasibility and efficiency of the system in practical applications are ensured. The successful implementation of this system can effectively improve the accuracy and quality of personalized recommendations, enhance the efficiency and satisfaction of users in the process of selecting traditional Chinese medicine, and provide new ideas and means for the management of traditional Chinese medicine information. It promotes the informationization development of traditional Chinese medicine information management and has important practical application significance.

Keywords: traditional Chinese patent medicines and simple preparations recommendation system; Django;Python;Collaborative Filtering

  1. 绪论
    1. 开发背景

中成药作为中医药的重要组成部分,因其独特的治疗效果以及较少的副作用而广受欢迎。近年来,随着科学技术的发展,人们对中药的需求不断增加。同时,网络技术的普及使得中成药相关信息呈现爆炸式增长。然而,在面对海量庞杂的信息时,用户往往因缺乏专业知识而难以做出有效的选择,导致对药物使用充斥着迷茫和不确定性。此外,对于药品的数据管理与推荐机制的研究相对较少,亟需建立相应的系统来满足用户的需求。基于此,设计实现一个有效的中成药推荐系统具有重要的现实意义,能够为用户提供科学合理的药物推荐和使用指导,从而提高中成药的可用性和用户体验,并避免用户因误用滥用中药而延误病情或损伤身体。

    1. 开发意义

本研究的主要目的是基于Python的Django框架,结合协同过滤算法构建和实现一套高效智能的中成药推荐系统,为用户提供综合性个性化的中医药服务。通过该系统的研发,用户可以更加轻松地从海量信息中快速获取所需中成药的信息,实现便捷的查询选择和在线咨询,降低了信息获取的难度。同时,借助大数据分析和协同过滤算法,系统可以根据用户的需求与偏好提供个性化的中药推荐,提高推荐的精准度和质量,为用户提供更加个性化推荐服务。系统还为管理员提供了强大的数据和信息管理功能,不仅可以有效维护中药数据和用户信息,提高中成药信息的管理效率,促进中药资源的科学管理与合理利用,而且能够使用户能够获取更准确、可靠的中药信息,增强用户对中成药的认知了解,推动中医药文化的传承与发展。此外,本研究的成功实施,为中成药的现代化发展提供了新的方向,更好地解决当前中成药信息化管理中的诸多问题,推动中成药的信息化管理与使用方式的转变,为中成药数字化发展提供技术支持,并丰富信息技术在中药领域应用的探索和研究。

    1. 国内外研究现状
      1. 国内研究现状

随着国内对中成药的研究与应用深入开展,尤其是在互联网和人工智能的普及的当下,国内研究对智能推荐系统和信息化管理进行了深入探索,致力于利用大数据和机器学习技术来优化中药的推荐系统,如开发基于用户需求的中成药推荐系统,通过分析用户输入的症状和个人健康数据,结合中药的药效、成分和治疗适应症,构建个性化推荐模型,从而提高中药推荐精确度和效率;或借助问答形式收集用户症状,利用决策树和神经网络等算法,实现对用户个性化推荐。针对中成药的安全性和有效性问题,国内学者注重于强化药物相互作用与禁忌症的数据库建设,对大量文献进行数据挖掘,提炼出药物相互作用的案例,并结合机器学习算法,构建出能够实时监测药物相互作用的推荐系统,为中成药的安全使用提供了重要保障。国内研究还重点集中在中成药信息的整合与分类方面,构建了全面的中成药数据库,涵盖药物的成分、药理作用、临床应用等信息。这些数据库常与推荐算法结合使用,提升了用户获取信息的便捷性和准确性。如中国中医科学院开发的“中药数据库”已实现了中药基本信息、临床研究及综合效果的可视化,助力于中成药的科学使用。此外,随着人工智能的应用,深度学习在中药成分解析和效能预测方面的效果也在不断显现,成为最新的研究热点。

      1. 国外研究现状

国外方面虽然关于中成药的研究相对较少,但随着中医药走向国际,国外学者也开始关注中药的有效性和在现代医学中的应用,并尝试建立与中成药相关的数据分析和推荐系统。国内研究注重利用机器学习技术,对中成药的成分和药理作用进行分析。如通过分析来自亚洲和西方的传统医学文献,提取中药成分的生物活性,并利用数据挖掘技术评估其潜在的治疗效果,为中药药效研究提供了新的研究途径,让不同地区的中医疗法得以比较和融合。国内还侧重于构建综合性数据库与推荐系统,通过开发综合性中医药信息系统,构建一个归纳中药成分和其对应疗效的在线平台,根据用户输入的症状自动推荐相关中成药,不仅方便了患者的用药选择,也能为研究人员提供有价值的数据支持。此外,欧美地区的中医药研究越来越关注中药的临床试验有效性和安全性,研究通常集中在中药的药理作用、配伍禁忌及临床应用效果等指标上,为中药的国际化推广提供了科学依据。比如,使用大规模的随机对照试验,评估流行中成药在治疗特定疾病中的效果,并借助数据分析工具整合用户反馈与临床观察,从而优化中成药的使用建议。

综上所述,国内外在中成药的研究上均已取得一定进展,但仍存在信息整合不够、推荐算法优化不足等问题。因此,构建一个基于大数据和智能推荐的综合性中成药推荐系统,将为该领域的深入研究和实际应用提供新的思路和解决方案。


  1. 相关技术介绍
    1. Django框架介绍

Django是一个高效的 Python Web 框架,致力于帮助开发者快速创建可靠、可维护的Web应用[1]。Django提供了丰富的内建功能,包括数据库管理、认证系统、用户权限、表单处理、数据验证、路由等,简化了Web应用开发的复杂度。它遵循“DRY(Don't Repeat Yourself)”原则,鼓励开发者使用重复利用的代码,使得开发过程更加简洁和高效,大大提高开发效率,并能保证系统的安全性和稳定性[2]。在本中成药推荐系统中,Django主要用于实现后端服务,包括数据存储、交互界面、用户认证和管理等功能。

    1. Python语言

Python是一种广泛应用的高级编程语言,因其简洁的语法和强大的功能库,成为 Web 开发、数据分析、人工智能等领域的首选语言[3]。Python的开源特性和跨平台能力也使得它能够在多种操作系统上运行。Python支持面向对象编程、函数式编程等多种编程范式,因此适合开发灵活、可扩展的系统。Python是本系统的主要开发语言,具有简洁的语法和强大的库支持,能够高效地进行中成药推荐系统的开发[4]。同时,Python提供了丰富的第三方库,如数据处理、人工智能、机器学习等,这些都能为中成药推荐系统提供智能化和数据驱动的支持。

    1. MySQL数据库

MySQL是最流行的关系型数据库管理系统之一,它使用结构化查询语言(SQL)进行数据管理[5]。MySQL具有高性能、高可靠性和易于使用的特点,并且作为一个开源软件,具有跨平台支持[6]。在中成药推荐系统中,MySQL用于存储各类用户信息、系统数据等相关信息,为系统提供稳定的数据存储解决方案,支持大量并发访问,并实现高效数据录入、查询和更新等操作。

    1. B/S模式

B/S架构是一种基于Web的分布式系统架构,其核心理念是“客户端—浏览器”和“服务器—Web”之间的通信[7]。B/S架构的优点是客户端不需要安装专门的应用程序,只需要一个浏览器即可访问系统,极大提高了系统的普适性和便捷性[8]。在中成药推荐系统中,采用 B/S架构能够使系统不依赖特定的客户端,实现跨平台访问,方便用户通过任何设备上的浏览器快速访问和管理系统各类信息。

    1. PyCharm

PyCharm是一款功能强大的Python集成开发环境,提供了许多开发所需的工具和功能,支持Python、Django等Web框架的开发。PyCharm提供了代码补全、调试、单元测试、版本控制、数据库管理等功能,能够有效提高开发者的工作效率。对于开发中成药推荐系统,PyCharm是一种非常适合的开发工具,能够帮助开发者实现高效的编码和调试工作。

    1. 协同过滤算法

协同过滤是一种常用于推荐系统的算法,通过分析用户的行为和偏好来预测用户对未见过的项目的偏好。协同过滤算法可分为基于用户和基于物品的两种方法,并根据用户的偏好和反馈不断进行优化。在中成药推荐系统中,主要利用协同过滤算法分析用户历史行为生成个性化的中药推荐信息,提高个性化推荐的质量。


  1. 系统分析
    1. 可行性分析
      1. 技术可行性

基于Django框架开发中成药推荐系统具有显著优势。Django以其简洁的配置、高效的性能以及强大的集成能力,为快速构建稳定、可扩展的Web应用提供了坚实基础。结合MySQL数据库的高效存储与检索能力,以及Python语言的广泛应用与成熟生态,系统能够实现复杂的数据处理与业务逻辑[9]。此外,前端采用JavaScript等技术,可确保用户界面的流畅与互动性,技术实现路径清晰可行。

      1. 经济可行性

该系统开发成本相对较低,主要投入在于人力与硬件资源。Django及MySQL均为开源技术,无需额外购买软件许可,降低了开发成本。如果系统上线可通过提供便捷、高效的中药推荐服务,可吸引大量用户,进而通过广告、增值服务等方式实现盈利,具有良好的经济回报预期。此外,系统维护成本适中,便于长期运营与迭代升级。

      1. 操作可行性

系统界面简洁友好,操作流程简单,用户无需复杂培训即可上手。系统功能模块化设计操作简便,便于用户快速完成操作。且系统支持多角色协同操作,管理员和用户登录系统后均可根据权限进行相应操作,有效提升管理效率和用户体验。

    1. 系统功能需求

本中成药推荐系统根据使用者划分,主要包含普通用户和管理员等两大角色每个角色对应的主要功能说明如下所示

      1. 普通用户主要功能
  1. 注册登录:提供注册和登录系统的功能,普通用户可以通过注册拥有系统账户,注册成功后可使用账号+密码登录系统前台。
  2. 首页:提供系统搜索功能和系统功能导航栏,展示平台的轮播图、最新动态、热门信息、中药推荐信息等内容。
  3. 交流论坛:提供交流论坛功能,普通用户可以浏览和发布交流帖子,分享内容、提出问题进行交流,支持点赞、收藏、评论交流贴。
  4. 网站公告:提供系统相关的网站公告信息,保证普通用户及时了解平台动态。
  5. 中医资讯:提供中医资讯的相关新闻、文章展示和热门资讯推荐,让普通用户快速获取最新资讯,支持点赞、收藏、评论中医资讯。
  6. 中药信息:提供中药信息展示,支持关键字、排序搜索,普通用户可以浏览中药信息,并点赞、收藏和评论中药信息。
  7. 在线咨询:提供在线咨询功能,普通用户输入咨询问题、症状情况,并提交咨询信息,并可在自己的个人中心查阅回复情况。
  8. 我的账户:提供管理个人资料功能,普通用户可修改自己的账户信息和密码信息。
  9. 个人中心:提供个人首页、在线咨询、交流论坛、收藏、评论管理等子菜单功能链接,普通用户可根据需求对其进行管理。具体包括,普通用户可查询确认在线咨询回复情况;可增改删查发布的论坛帖子,查看其评论内容;可查看和删除已收藏的系统信息;可跟踪和查看已发表的评论内容。
      1. 管理员主要功能
  1. 登录:管理员可直接使用账号密码登录系统后台,进行管理,可对自己的个人信息和密码信息进行修改。
  2. 后台首页:管理员登录后台的起始界面,该界面主要展示系统重要信息概览。
  3. 系统用户:管理员可管理包括普通用户和管理员等所有系统用户信息,支持用户权限管理和角色设置,可增改删查和审核封禁系统用户信息。
  4. 中药数据管理:管理员可管理所有中药数据信息,包括添加、编辑、删除和查询中药数据,支持批量导入,提供中药发布操作。
  5. 中药信息管理:管理员可管理所有中药信息的发布、下架、更新等操作,提供搜索功能,支持查看和管控其评论内容。
  6. 中药类型管理:管理员可管理所有中药类型信息,包括新增、编辑、删除和查询中药类型。
  7. 在线咨询管理:管理员可管理所有在线咨询,包括查询、删除在线咨询信息,负责审核回复在线咨询信息。
  8. 系统管理:管理员可管理系统的轮播图信息,包括新增、编辑、删除轮播图,提供搜索功能,支持图片附带链接。
  9. 网站公告管理:管理员可管理平台发布的网站公告信息,包括新增、编辑、删除网站公告,提供搜索功能。
  10. 资源管理:管理员可管理中医资讯和资讯分类的新增、编辑、删除等操作,提供搜索功能,支持对中医资讯的评论管控和查看。
  11. 交流管理:管理员可管理交流论坛和论坛分类的新增、编辑、删除等操作,提供搜索功能,支持对交流论坛的评论管控和查看。
    1. 非功能性需求分析

在基于Django的中成药推荐系统的设计中,非功能性需求分析是也是很重要的。它主要关注系统除了基本功能外的其他特性,如性能、安全性、易用性、可维护性等,这些特性对于确保系统的稳定运行和用户满意度至关重要。

性能:系统需要能够处理高并发请求,确保在多个用户同时操作时仍能保持稳定运行。

安全性:系统必须采取严格的措施来保护敏感数据,如用户信息、中药数据等,防止数据泄露和非法访问。

易用性:系界面友好直观,操作流程简化,提升用户体验。

可维护性:代码结构清晰,文档完备,便于后续开发与问题排查。

    1. 系统用户用例分析
      1. 普通用户用例图

在中成药推荐系统中普通用户包含注册登录、首页、交流论坛、网站公告、中医资讯、中药信息、在线咨询、我的账户、个人中心等功能。普通用户用例图如下所示:

图3.1 普通用户用例图

      1. 管理员用例图

中成药推荐系统中管理员则集成了登录、后台首页、系统用户、中药数据管理、中药信息管理、中药类型管理、在线咨询管理、系统管理、网站公告管理、资源管理、交流管理等功能。管理员用例图如下所示:

图3.2 管理员用例图

    1. 系统流程分析
      1. 系统操作流程图

用户打开浏览器,输入系统的网址,访问应用程序的系统界面。用户在首页可选择进行注册或登录。如果用户已注册,可直接进入登录页面;如果未注册,则可选择注册。登录后,用户可进入系统功能界面,根据提示可实现各项操作。系统操作流程图如下图所示。

图3.3 系统操作流程图

      1. 系统登录流程图

当用户进入登录页面,输入用户名和密码等信息,此时系统将进行基本的输入验证,确认用户名和密码不为空,点击“登录”按钮提交登录请求后,系统将进一步研究用户名和密码是否匹配,验证成功则可成功登录,跳转至用户主界面;反之,提示错误返回登录界面。登录流程图如下图所示。

图3.4 登录流程图

      1. 用户注册流程图

用户点击“注册”按钮,系统跳转至注册页面,用户需填写并提交必要的注册信息(如用户名、密码、邮箱、电话号码等),系统将对注册信息验证,确保必填字段不为空,密码符合复杂度要求等,并检查用户名和邮箱是否已被使用,系统验证无误后,将提示用户注册成功。用户注册流程图如下图所示。

图3.5 注册流程图


  1. 系统设计
    1. 系统设计原则

在设计基于Django的中成药推荐系统时,主要遵循以下系统设计原则:

单一职责原则(SRP):每个模块或组件应只负责单一的功能,减少模块之间的耦合,方便后期的维护和扩展。

分层架构:系统采用分层架构设计,将表现层、业务逻辑层和数据访问层分开,实现功能模块的分离与复用。

可扩展性:设计时考虑未来可能的功能扩展,确保系统结构能够灵活应对需求的变化。

用户体验优先:系统设计考虑用户的使用习惯与操作便利性,通过简洁明了的界面和流畅的交互,提高用户体验。

    1. 功能模块设计

整个中成药推荐系统是由多个功能模块组合而成的,根据用户需求分析,本系统主要可以划分为普通用户和管理员两大模块。各模块又可细分为不同的子功能设计,实现多角色协作,负责不同的职能,每个角色对应的功能模块如图所示。

图4.1 系统功能结构图

    1. 数据库设计
      1. 概念设计

借助系统总体E-R图可以使其他用户快速轻松地了解系统的功能以及他们之间的关系。根据中成药推荐系统各个实体和属性的分析结果,本中成药推荐系统总体E-R实体关系图如下所示。

图4.2 系统总体ER图

      1. 逻辑设计

通过上一小节中成药推荐系统中总E-R关系图上得出一共需要创建很多个数据表。在此主要罗列几个主要的数据库表结构设计。下面介绍了一些根据各类别主要数据库表的设计结构以及基本功能建立数据库表:

表4.1 chinese_medicine_data(中药数据)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

chinese_medicine_data_id

int

中药数据ID

2

name_of_traditional_chinese_medicine

varchar

64

中药名

3

alias

text

65535

别名

4

english_name

text

65535

英文名

5

medicinal_parts

text

65535

药用部位

6

form

text

65535

形态

7

origin_distribution

text

65535

产地分布

8

harvesting_and_processing

text

65535

采收加工

9

characters_of_medicinal_herbs

text

65535

药材性状

10

sex_and_taste_to_the_sutra

text

65535

性味归经

11

efficacy_and_role

text

65535

功效与作用

12

clinical_application

text

65535

临床应用

13

pharmacological_research

text

65535

药理研究

14

chemical_composition

text

65535

化学成分

15

use_taboo

text

65535

使用禁忌

16

compatibility_prescription

text

65535

配伍药方

17

chinese_medicine_information_limit_times

int

中药发布限制次数

18

create_time

datetime

创建时间

19

update_time

timestamp

更新时间

表4.2 chinese_medicine_information(中药信息)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

chinese_medicine_information_id

int

中药信息ID

2

name_of_traditional_chinese_medicine

varchar

64

中药名

3

cover_image

varchar

255

封面图片

4

type_of_traditional_chinese_medicine

varchar

64

中药类型

5

release_time

datetime

发布时间

6

alias

text

65535

别名

7

english_name

text

65535

英文名

8

medicinal_parts

text

65535

药用部位

9

form

text

65535

形态

10

origin_distribution

text

65535

产地分布

11

harvesting_and_processing

text

65535

采收加工

12

characters_of_medicinal_herbs

text

65535

药材性状

13

sex_and_taste_to_the_sutra

text

65535

性味归经

14

efficacy_and_role

text

65535

功效与作用

15

clinical_application

text

65535

临床应用

16

pharmacological_research

text

65535

药理研究

17

chemical_composition

text

65535

化学成分

18

use_taboo

text

65535

使用禁忌

19

compatibility_prescription

text

65535

配伍药方

20

hits

int

点击数

21

praise_len

int

点赞数

22

collect_len

int

收藏数

23

comment_len

int

评论数

24

recommend

int

智能推荐

25

create_time

datetime

创建时间

26

update_time

timestamp

更新时间

27

source_table

varchar

255

来源表

28

source_id

int

来源ID

29

source_user_id

int

来源用户

表4.3 forum(论坛)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

forum_id

mediumint

论坛ID

2

display

smallint

排序

3

user_id

mediumint

用户ID

4

nickname

varchar

16

昵称

5

praise_len

int

点赞数

6

hits

int

访问数

7

title

varchar

125

标题

8

keywords

varchar

125

关键词

9

description

varchar

255

描述

10

url

varchar

255

来源地址

11

tag

varchar

255

标签

12

img

text

65535

封面图

13

content

longtext

4294967295

正文

14

create_time

timestamp

创建时间

15

update_time

timestamp

更新时间

16

avatar

varchar

255

发帖人头像

17

type

varchar

64

论坛分类

18

istop

int

是否置顶

表4.4online_consultation(在线咨询)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

online_consultation_id

int

在线咨询ID

2

user_account

int

用户账号

3

user_name

varchar

64

用户姓名

4

user_phone_number

varchar

64

用户电话

5

consultation_time

datetime

咨询时间

6

advisory_questions

text

65535

咨询问题

7

current_symptoms

text

65535

当前症状

8

consultation_reply

text

65535

咨询回复

9

examine_state

varchar

16

审核状态

10

examine_reply

varchar

16

审核回复

11

create_time

datetime

创建时间

12

update_time

timestamp

更新时间

表4.5 ordinary_user(普通用户)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

ordinary_user_id

int

普通用户ID

2

user_name

varchar

64

用户姓名

3

user_phone_number

varchar

16

用户电话

4

user_gender

varchar

64

用户性别

5

examine_state

varchar

16

审核状态

6

user_id

int

用户ID

7

create_time

datetime

创建时间

8

update_time

timestamp

更新时间


  1. 系统实现
    1. 普通用户主要功能实现
      1. 用户注册模块

普通用户点击注册,进入注册页面,填写好账号、密码、确认密码、昵称、邮箱、身份:普通用户、用户姓名、用户性别、用户电话等字段值,点击下方注册按钮,提示注册成功后,系统将自动跳转回到登录页面。注册界面如下图所示。

图5.1 注册界面

      1. 用户登录模块

用户点击“登录”按钮,输入用户名、密码、验证码登录系统,登录时前端会自动校验用户名与密码以及该用户是否审核通过,审核通过的用户输入正确登录成功,输入错误会有提示信息。登录界面如下图所示。

图5.2 登录界面

      1. 首页模块

首页界面提供系统搜索功能和系统功能导航栏,展示平台的轮播图、最新动态、热门信息、中药推荐信息等内容。界面如下图所示。

图5.3 首页界面

      1. 交流论坛模块

交流论坛模块主要为用户提供交流论坛功能,普通用户可以浏览和发布交流帖子,分享内容、提出问题进行交流,支持点赞、收藏、评论交流贴。界面如下图所示。

图5.4 交流论坛界面

      1. 中药信息模块

中药信息模块主要为用户提供中药信息展示,支持关键字、排序搜索,普通用户可以浏览中药信息,并点赞、收藏和评论中药信息。界面如下图所示。

图5.5 中药信息界面

      1. 在线咨询模块

在线咨询模块主要为用户提供在线咨询功能,普通用户输入咨询问题、症状情况,并提交咨询信息,并可在自己的个人中心查阅回复情况。界面如下图所示。

图5.6 在线咨询界面

    1. 管理员主要功能实现
      1. 中药数据管理模块

管理员可管理所有中药数据信息,包括添加、编辑、删除和查询中药数据,支持批量导入,提供中药发布操作。界面如下图所示。

图5.7 中药数据管理界面

      1. 中药信息管理模块

管理员可管理所有中药信息的发布、下架、更新等操作,提供搜索功能,支持查看和管控其评论内容。面如下图所示。

图5.8 中药信息发布界面

      1. 在线咨询管理模块

管理员可管理所有在线咨询,包括查询、删除在线咨询信息,负责审核回复在线咨询信息。界面如下图所示。

图5.9 在线咨询回复界面

      1. 交流管理模块

管理员可管理交流论坛和论坛分类的新增、编辑、删除等操作,提供搜索功能,支持对交流论坛的评论管控和查看。界面如下图所示。

图5.10 交流管理界面


  1. 系统测试
    1. 测试目的

在这个产品被投入使用前,首先需要进行试用,这是重要的环节。考虑到某个部分的开发没有缺陷情况下,把各种模块拼接,也有一定概率就存在矛盾。这就好比每个人都很独特,但聚在一起就显得杂乱无章,需要保证有默契的配合。对于测试,要看它的各项内容是否契合的原则[10]。若与最初定下的标准有一定程度上的出入,那么就需要做出一些调整,让最终的大方向朝着目标前进。

测试是为了发现在开发的程序中所存在的问题,测试这一工作是非常艰巨的,而又是非常困难的,这一部分在程序的设计中占有很大比例,可以说一个程序的开发工作量要是占据了百分至六十,那么剩下的百分之四十必然是测试这一部分,甚至更高。

    1. 测试用例
  1. 用户注册功能测试

用户注册功能测试用例如下表所示。

表6.1 用户注册功能测试表

测试编号

测试描述

预期结果

测试方法

测试结果

TC_01

正常用户注册

用户注册成功,跳转至登录页面

输入所有必填项并提交

符合预期

TC_02

注册时用户名已存在

提示“用户名已被注册”

输入已存在的用户名

符合预期

TC_03

注册时邮箱格式错误

提示“邮箱格式不正确”

输入错误格式的邮箱

符合预期

TC_04

必填项未填写

提示“请填写所有必填信息”

不填写必要信息

符合预期

  1. 用户登录功能测试

用户登录功能测试用例如下表所示。

表6.2 用户登录功能测试表

测试编号

测试描述

预期结果

测试方法

测试结果

TC_01

正常用户登录

用户成功登录,进入用户首页

输入有效的用户名和密码

符合预期

TC_02

输入错误密码进行登录

提示“用户名或密码错误”

输入有效用户名,错误密码

符合预期

TC_03

输入未注册的用户名登录

提示“用户不存在”

输入未注册的用户名

符合预期

TC_04

密码为空时登录

提示“请填写密码”

仅输入用户名

符合预期

  1. 中药数据管理功能测试

中药数据管理功能测试用例如下表所示。

表6.3 中药数据管理功能测试表

测试编号

测试描述

预期结果

测试方法

测试结果

TC_01

查看中药数据列表

成功显示所有中药数据内容

进入中药数据管理页面

符合预期

TC_02

管理员添加新中药数据内容

成功添加中药数据内容并提示“信息已添加”

进入中药数据添加界面,输入中药数据并提交

符合预期

TC_03

搜索特定中药数据内容

成功显示符合条件的中药数据内容

输入中药数据名称进行搜索

符合预期

TC_04

删除中药数据内容

成功删除中药数据,并提示“信息已删除”

选择中药数据内容并执行删除操作

符合预期

TC_05

编辑中药数据内容

成功编辑中药数据内容并提示“修改成功”

进入详情页界面,修改某一中药数据内容并提交

符合预期

  1. 中药信息管理功能测试

中药信息管理功能测试用例如下表所示。

表6.4 中药信息管理功能测试表

测试编号

测试描述

预期结果

测试方法

测试结果

TC_01

查看中药信息列表

成功显示所有中药信息内容

进入中药信息管理页面

符合预期

TC_02

管理员添加新中药信息内容

成功添加中药信息内容并提示“信息已添加”

进入中药信息添加界面,输入中药信息内容并提交

符合预期

TC_03

搜索特定中药信息内容

成功显示符合条件的中药信息内容

输入中药信息名称进行搜索

符合预期

TC_04

删除中药信息内容

成功删除中药信息内容,并提示“信息已删除”

选择中药信息并执行删除操作

符合预期

TC_05

编辑中药信息内容

成功编辑中药信息并提示“修改成功”

进入详情页界面,修改某一中药信息内容并提交

符合预期

  1. 在线咨询管理功能测试

在线咨询管理功能测试用例如下表所示。

表6.5 在线咨询管理功能测试表

测试编号

测试描述

预期结果

测试方法

测试结果

TC_01

查看在线咨询列表

成功显示所有在线咨询内容

进入在线咨询管理页面

符合预期

TC_02

普通用户添加新在线咨询

成功添加在线咨询内容并提示“信息已添加”

进入在线咨询添加界面,输入在线咨询内容并提交

符合预期

TC_03

搜索特定在线咨询信息

成功显示符合条件的在线咨询信息内容

输入在线咨询名称进行搜索

符合预期

TC_04

删除在线咨询信息

成功删除在线咨询内容,并提示“信息已删除”

选择在线咨询并执行删除操作

符合预期

TC_05

编辑在线咨询信息

成功编辑在线咨询信息并提示“修改成功”

进入详情页界面,修改某一在线咨询内容并提交

符合预期

TC_06

回复在线咨询信息

成功回复在线咨询信息并提示“修改成功”

进入详情页界面,回复在线咨询内容并提交

符合预期

TC_07

审核在线咨询信息

成功审核在线咨询并提示“修改成功”

点击“审核”更新审核状态并提交

符合预期

    1. 测试结果

在本次测试中主要对用户注册、用户登录、中药数据管理、中药信息管理、在线咨询管理等模块业务流程操作进行测试分析,并编写测试用例。经过严格的测试,全部测试用例都已通过,并验证所有操作都能够正确无误,因此能够保证本次设计且已实现的功能能够正常运行,操作简单,使用流畅,性能良好,能够满足管理业务需求,同时确保相关数据库的信息也同样正确无误,实现了本论文开始时所作要求和期望。

     

本中成药推荐系统毕业设计项目已成功落下帷幕,这一成果不仅是对开发者技术实力与业务理解能力的全面展现,也是对传统中医药领域数字化转型的一次积极探索。

本次毕业设计充分利用了Django框架的灵活性与高效性,通过模块化设计与微服务架构,实现了中药信息的全面管理、精准搜索与便捷信息录入查询、个性化推荐及在线咨询等功能。系统界面友好直观,操作流程简洁明了,为用户提供了极佳的使用体验。通过对数据库索引、缓存机制等精心优化,系统性能得到了显著提升,确保了高并发场景下的稳定运行。而且通过实施严格的数据加密策略、访问控制机制及日志审计功能,系统有效防范了数据泄露与非法访问等安全风险。

总的来说,通过本次研究,成功基于Django搭建了一套功能齐全且操作简便的中成药推荐系统,实现了丰富的功能并取得了一定的成果。在未来的发展中,将继续优化系统功能和用户体验,实现更加个性化的模块,不断提升系统的性能和稳定性,为中成药推荐系统的长期发展和用户需求提供更好的服务和支持。

     

在完成本次基于Django的中成药推荐系统毕业设计的过程中,我收获了诸多宝贵的经验,也感受到了成长的喜悦,也深刻体会到理论与实践相结合的重要性。在这里我特别感谢我毕设的导师。在整个毕设过程中老师不但给我指明方向也给予我专业的指导,给了我很大的帮助也让我在探索中不断突破自我不断提升我的专业能力,更让我学会了如何以科学的方法解决问题。

我也感谢学校为我提供了一个良好的学习环境和丰富的资源支持。让我得以接触到前沿的技术知识和开发工具,为毕业设计的顺利开展奠定了坚实基础。在开发过程中,我遇到了许多技术难题,但通过查阅大量文献资料和反复实践,我逐渐找到了解决方法。这一过程不仅锻炼了我的自主学习能力,也让我深刻体会到知识的力量。

最后我要感谢我的家人和亲朋们。在我为毕业设计忙碌的日子里,他们始终给予我无条件的支持和鼓励。他们的理解让我能够在紧张的学习中保持良好的心态,专注于项目的每一个细节。这份毕业设计是我大普通用户活的完美收官,也是我人生旅程中的一个重要里程碑。我将带着这份成长和感恩,继续在未来的道路上努力前行。


   

  1. 章军.基于Django框架的科研经费管理系统的设计与实现[J].自动化技术与应用,2024,43(09):172-175.DOI:10.20033/j.1003-7241.(2024)09-0172-04.
  2. 陈玲.基于Django的名著人物展示系统的设计与实现[J].中国信息界,2024,(07):188-190.
  3. 郭鹤楠.基于Django和Python技术的网站设计与实现[J].数字通信世界,2023,(06):60-62.
  4. 王玉鑫,陈鹏,郭晗,等.基于Python信息运维管理系统设计与应用[J].电脑编程技巧与维护,2024,(08):94-97+110.DOI:10.16184/j.cnki.comprg.2024.08.026.
  5. 童光耀,胡珍,叶垚敏,等.基于MVC与MySQL的畲医药云端数据库开发[J].现代信息科技,2024,8(19):48-52.DOI:10.19850/j.cnki.2096-4706.2024.19.010.
  6. 庞敏.MySQL数据库的数据安全应用设计技术研究[J].数字通信世界,2024,(09):25-27.
  7. 刘昶,李威,王德志.基于Django与Vue的煤矿企业员工心理健康平台的设计与实现[J].现代计算机,2024,30(21):206-210+216.
  8. 兰琳琳.基于MySQL-Django-Vue的在线考试系统[J].电脑知识与技术,2024,20(33):51-54.DOI:10.14004/j.cnki.ckt.2024.1702.
  9. 杨洪涛.基于Python+MySQL的学生成绩管理系统的设计与实现[J].电脑编程技巧与维护,2023,(05):86-89.DOI:10.16184/j.cnki.comprg.2023.05.036.
  10. 贺国平,张国荣.大数据技术背景下Python程序设计研究[J].软件,2024,45(08):28-30.
  11. 杨柳,贾彦玲,宋志阳,等.基于大数据分析的云计算平台智能推荐系统设计[J].信息与电脑,2025,37(02):37-39.
  12. 赵丹宁,卢海霞,白森.基于图卷积神经网络的中药方剂功效分类与自动推荐[J].中草药,2024,55(18):6298-6304.
  13. 李春雨,李燕,刘悦悦,等.基于知识图谱的中药推荐方法[J/OL].云南民族大学学报(自然科学版),1-8[2025-03-30].http://kns.cnki.net/kcms/detail/53.1192.N.20240726.0950.006.html.
  14. 陈剑峰.基于协同过滤的中药推荐系统研究与应用[D].电子科技大学,2024.
  15. 石丰源,程钢.基于大数据的书籍推荐分析系统的设计与实现[J].电脑知识与技术,2024,20(14):66-69+72.DOI:10.14004/j.cnki.ckt.2024.0724.
  16. Zhang H .An Accuracy Study of Personalized Recommendation System for E-commerce Based on Big Data Analysis[J].Applied Mathematics and Nonlinear Sciences,2024,9(1):
  17. 武玲梅,李秋萍,黄秀芳,等.基于Django框架的电影推荐系统的设计与实现[J].电脑知识与技术,2023,19(04):56-61.DOI:10.14004/j.cnki.ckt.2023.0204.
  18. 陈玲.基于Django的中国红色旅游推荐系统的设计与实现[J].软件,2022,43(09):100-103.
  19. 张飞宇.基于Django的个性化景点推荐系统的设计与实现[D].首都经济贸易大学,2022.DOI:10.27338/d.cnki.gsjmu.2022.000588.
  20. Wang Y .A Novel Chinese Traditional Medicine Prescription Recommendation System based on Knowledge Graph[J].Journal of Physics Conference Series,2020,1487(1):012019.


附录

1.系统核心代码设计

数据库配置文件在app文件下的settings.py,代码如下图所示。

数据库配置关键代码图

注册关键代码如下图所示。

注册关键代码图

登录关键代码如下图所示。

登录关键代码图

修改密码关键代码如下图所示。

修改密码关键代码图

添加数据关键代码如下图所示。

添加数据关键代码图

删除数据关键代码如下图所示。

删除数据关键代码图

修改数据关键代码如下图所示。

修改数据关键代码图

查询数据关键代码如下图所示。

查询数据关键代码图

【关注博主 →免费赠送完整源码+数据库】

【关注博主 →免费赠送完整源码+数据库】

【关注博主 →免费赠送完整源码+数据库】

更多推荐