A383-基于django的药用植物分析系统
导出时间:2025/12/8 15:52:56
1选题背景
随着医药产业的蓬勃发展,药用植物的种类和应用场景日益丰富,对药用植物进行高效、精准的分析成为医药现代化进程中的关键环节。同时,国家持续出台政策支持医药从 “传统经验型” 向 “现代科技型” 转型,公众对药用植物知识的需求也从 “单一认知” 转向 “系统化了解”,这些都为系统开发提供了坚实的社会需求基础。基于Django框架开发药用植物分析系统,能够有效整合药用植物的多维度数据,借助其强大的Web开发能力和丰富的生态资源,实现对药用植物数据的高效管理、分析与可视化展示。本系统将通过数据采集、处理、分析以及可视化等环节,为药用植物研究、开发和应用提供有力的技术支持,推动医药产业的数字化、智能化发展。
2研究意义
药用植物作为传统医药与现代健康产业的重要基石,其保护、研究与开发一直是国家和社会关注的重点领域。随着植物学、药理学等学科的深入发展,以及检测技术、测序技术的不断进步,药用植物的物种信息、化学成分、药理作用、临床应用等数据正呈现出指数级增长的态势,海量碎片化数据的整合与利用成为了亟待解决的问题。与此同时,伴随着信息传播方式的革新,公众与从业者对药用植物知识的需求也逐步从零散的文献摘录,转向对系统化、交互式信息服务的追求,单一的资料罗列已难以满足人们对药用植物深度认知的需求。
基于此,本研究通过构建基于 Django 框架的药用植物分析系统,利用数据整合、数据库设计、Python 编程等技术,实现药用植物分析,并借助可视化技术呈现其资源分布、药用评级等关键信息。这样一来,一方面,通过多种丰富的可视化方式,能够有效地向公众普及药用植物知识,进而有力地推动医药文化的传播与弘扬;另一方面,对于从业者而言,该系统能够满足其对药用植物进行系统化、交互式服务的需求,有助于促进药材的合理利用;此外,生态人员也可借助相关成果统计珍稀植物的分布情况,进而划定保护区域,实现资源利用与生态保护之间的平衡,最终为药用植物的研究、保护与开发提供系统化的信息支撑与分析工具。
3研究的主要内容
本系统主要实现在一定时间和空间范围内,对各地药用植物的物种基础信息、地理分布状况及繁殖方式等进行整合统计,以及对其资源潜力与应用价值进行分析,从而为药用植物的保护、研究与开发提供多方面的重要支撑,为科研人员提供研究便利,还能够促进医药产业、生态保护、健康医疗等多个领域的发展。用户能在有限时间内精准掌握不同地区药用植物的核心信息,无论是为物种保护制定针对性策略,为药物研发筛选优质原料,还是为中医药文化传承挖掘植物资源背后的历史与药用智慧,都能获得有力支撑,进而推动整个药用植物相关产业生态的协同发展。本系统的研究过程主要围绕:数据采集、数据处理、数据分析和数据可视化。整体操作流程如图 1所示。
3.1.1数据采集
本系统数据来源于Kaggle网站(https://www.kaggle.com/datasets/edwardgaibor/pfaf-medical-plants-use-dataset)的开源数据集,计划使用15000条数据。数据集获取方式为从Kaggle网站直接下载数据集压缩包到本地,并将解压后的数据存储为CSV文件。数据集涵盖了多种植物相关信息,主要包含植物的学名、常见名、药用性、养护要求、常见用途、栽培难易度、可食用性、可食用部位、植物科属、图片网址、已知特性、药用功效、原生区域、稀有程度、其他用途、繁殖方式、分布范围、科学分类等内容。
3.1.2数据处理
对采集后存储于数据库内的数据开展清洗操作。借助数据库自身的数据处理功能或者 Python 等编程语言结合数据库操作工具,对数据进行检查与处理。首先,利用查重操作去除重复的数据记录,避免数据冗余对后续分析造成干扰。接着,通过设定数据校验规则,识别并剔除存在错误信息以及格式不规范的数据。完成数据清洗后,依据后续分析与应用的需求,对数据进行筛选,保留物种拉丁学名及中文名、分布区域、药用特性、繁殖方式等关键数据字段。最后,将经过规整处理后的数据,按照规范的格式重新存储回数据库中,为后续的数据统计、分析以及可视化等工作提供准确、整洁的数据源。
3.1.3数据分析
数据统计阶段主要运用 Python 数据分析库处理经清洗后存储于数据库里的药用植物数据。旨在按物种分类、分布区域或科属等维度,开展分区统计工作,以挖掘不同类别药用植物的分布及特性规律。同时,统计不同类型药用植物的药用特性情况。将上述统计得出的不同类型药用植物的分布密度、药用特性等结果,整理后存储至数据库的统计结果表中,为后续进一步的相关性分析、系统构建等工作提供数据支撑。
3.1.4数据可视化
在技术实现层面,后端采用Django框架搭建核心架构,承担着页面路由管理、用户登录注册流程处理及身份验证等基础功能,同时开发数据交互接口,借助Python编程语言与MySQL数据库建立连接,实现对分析结果的读取操作。前端可视化环节则主要借助ECharts工具库完成,利用其丰富的图表绘制能力生成饼图、折线图、柱形图、气泡图、热力图等多样化数据呈现形式,并且支持数据的动态加载与交互式展示,提升用户体验。
在可视化展示页面,作为向用户直观呈现药用植物多维度数据的核心模块,涵盖六大类可视化内容:通过柱状图、饼图等展示不同食用评级的药用植物数量及占比,帮助用户快速了解食用价值分类;以可视化形式呈现药用价值评级分布,让用户清晰知晓药用价值层级;借助地图等地理可视化手段展示原生分布区域,直观呈现地理分布特征;呈现不同科属中的分布状况,从分类学角度帮助用户认识科属归类及数量情况;利用图表展示不同繁殖方式的占比,提供直观的繁殖数据;展示成为杂草的可能性等级分布,为生态研究和植物管理提供参考。
4主要功能
用户端方面,用户可通过“用户中心”进行登录和注册操作,完成个人账号的创建与管理。“物种百科页”提供药用植物的详细信息,满足用户对植物基本认知的需求;“种植养护教程页”则以图文形式,指导用户学习药用植物的种植与养护技巧;“资讯页”推送药用植物领域的前沿资讯,如研究成果、行业动态等;“收藏中心”允许用户收藏感兴趣的内容,方便后续查看;“评价中心”支持用户对各类内容进行评价互动,分享见解。此外,“可视化展示页”是核心板块,能从食用评级分布、药用评级分布、原生分布范围、科属分布、繁殖方式分布、杂草可能性分布等多维度,以直观图表形式呈现药用植物数据,助力用户高效获取信息。
管理员端主要负责系统的管理与维护,“用户信息管理”模块可对用户注册信息进行审核,管理用户权限;“药用数据管理”模块能对药用植物相关数据进行录入、更新、删除等操作,确保系统内数据的准确性、完整性与时效性,为整个系统的稳定运行提供支持。
4.1系统可视化组织架构
系统可视化框架主要包括:用户中心模块、物种百科页模块、种植养护教程模块、资讯模块、收藏中心模块、评价中心模块、可视化展示模块。系统可视化组织架构如图 2所示。
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
5开发工具与搭建步骤
一、开发工具与运行环境
为实现基于 Django 框架的药用植物分析系统,本文在软硬件环境及开发工具方面作如下配置与选用:
- 硬件环境
- 处理器:主流多核 CPU(如 Intel i5 及以上或同等性能处理器);
- 内存:≥ 8 GB,以满足数据分析及可视化渲染的运行需求;
- 存储:≥ 256 GB 固态硬盘,用于存放开发环境、数据库及数据集。
- 软件环境
- 操作系统:Windows 10/11(64 位),便于进行 Python 与各类开发工具的安装与管理;
- Python 版本:Python 3.x,用作系统的主要开发语言与运行环境;
- Web 开发框架:Django 4.x/5.x,用于实现后端业务逻辑、URL 路由、权限控制及模板渲染;
- 数据库管理系统:MySQL,用于存储药用植物基础信息、统计结果、用户信息等结构化数据;
- 前端基础技术:HTML、CSS、JavaScript,用于构建系统的页面结构与交互效果;
- 数据可视化库:ECharts,用于实现药用植物食用评级、药用评级、分布区域、科属、繁殖方式、杂草可能性等多维度数据的可视化展示;
- 数据分析库:Python 中的
pandas、numpy等,用于对从 Kaggle 获取的药用植物数据进行清洗、统计与分析。
- 开发辅助工具
- 集成开发环境(IDE):PyCharm 或 Visual Studio Code,用于编写和调试 Django 后端代码及前端模板;
- 数据库可视化工具:如 Navicat、MySQL Workbench 等,用于直观管理和维护 MySQL 数据库;
- 版本控制工具:Git,用于项目代码的版本管理与备份。
通过上述工具与环境的协同配合,系统在开发效率、代码可维护性以及运行稳定性方面均能得到较好保障,为后续功能扩展和部署上线奠定基础。
二、系统搭建步骤
本系统的搭建大体可分为环境配置、项目创建与配置、数据导入与分析实现、可视化集成与功能完善等几个阶段,整体过程如下。
(1)开发环境与依赖安装
- 安装 Python 3.x,并配置环境变量;
- 在本地创建虚拟环境(如使用
venv或virtualenv),并在虚拟环境中安装项目依赖:- 安装 Django:
pip install django; - 安装 MySQL 相关驱动(如
mysqlclient或pymysql); - 安装数据分析相关库(如
pandas、numpy等)。
- 安装 Django:
- 安装并配置 MySQL 数据库,创建项目所需的数据库实例,设置字符集为
utf8或utf8mb4以支持中英文混合数据存储。
(2)Django 项目与应用创建
- 使用 Django 提供的脚手架命令创建项目,例如:
django-admin startproject herbalsys- 在项目中创建业务应用(如
main等),用于承载药用植物分析系统的具体功能模块: python manage.py startapp main- 在
settings.py中将新建应用添加到INSTALLED_APPS,并配置语言、时区、静态文件路径、模板路径等基础设置,为后续页面渲染和静态资源加载提供支持。
(3)数据库设计与配置
- 根据系统功能需求,设计药用植物基础信息表、药用特性与用途表、统计结果表、用户信息表等数据库表结构,明确字段类型及主外键关系;
- 在 Django 中通过模型(Model)定义对应的数据表结构;
- 在
settings.py中配置DATABASES选项,使项目与 MySQL 数据库建立连接; - 使用
python manage.py makemigrations与python manage.py migrate生成并同步数据表结构,完成数据库初始化。
(4)数据导入与预处理实现
- 从 Kaggle 平台下载药用植物开源数据集,将压缩包解压并保存为 CSV 文件;
- 编写数据导入脚本或 Django 自定义管理命令,使用
pandas读取 CSV 文件,对字段进行类型转换与初步检查; - 按照预先设定的数据清洗规则:
- 去除重复记录,避免数据冗余;
- 检测并剔除存在明显错误或格式不规范的记录;
- 筛选保留物种学名及中文名、分布区域、药用特性、繁殖方式等关键字段;
- 将清洗后的数据写入 MySQL 数据库的对应表中,为后续统计分析与可视化展示提供可靠的数据基础。
(5)后端业务逻辑与接口开发
- 根据系统功能划分,在
main应用中编写视图函数或类视图,实现用户登录注册、百科信息展示、养护教程、资讯推送、收藏与评价、后台用户管理、药用数据管理等核心业务逻辑; - 在
urls.py中配置前台页面路由(如首页、百科页、养护教程页、资讯页、可视化展示页等)以及后台管理相关路由(如用户管理页、药用植物数据管理页等); - 设计并实现面向前端的 API 接口(如
/api/plants/、/api/statistics/等),以 JSON 形式返回统计结果、筛选后的药用植物列表等数据,支撑前端动态加载与交互。
(6)数据分析与统计结果生成
- 在后端使用
pandas等库对数据库中的药用植物数据进行统计分析,主要包括:- 按食用评级、药用评级进行分类统计;
- 按原生分布区域、科属、繁殖方式等维度进行分布统计;
- 对成为杂草可能性等级等生态属性进行统计分析。
- 将分析得到的统计结果写入专门的统计结果表或在接口调用时动态计算,为可视化模块提供统一的数据来源。
(7)前端页面与可视化模块集成
- 在 Django 模板中构建系统各功能页面,包括用户中心、物种百科、种植养护教程、资讯、收藏与评价中心以及可视化展示页等;
- 在模板中通过
<script>标签引入 ECharts 库,编写 JavaScript 代码,通过 AJAX 调用后端提供的统计接口获取 JSON 数据; - 使用 ECharts 在可视化展示页中绘制柱状图、饼图、折线图、地图、气泡图、热力图等图表,实现食用评级分布、药用评级分布、原生区域分布、科属分布、繁殖方式分布、杂草可能性等级分布等多维度数据的可视化呈现;
- 对图表交互效果进行优化,使用户可以通过悬停、点击等方式查看详细数据,提高系统的可用性与体验感。
(8)系统运行与测试
- 使用
python manage.py runserver启动 Django 开发服务器,在浏览器中访问本地地址,对各功能模块进行逐一测试; - 检查用户端与管理员端的各项功能是否按预期运行,包括数据展示是否准确、可视化图表是否正常渲染、登录注册与权限控制是否安全可靠;
- 结合功能测试与性能测试结果,对代码和数据库查询进行优化,提升系统的响应速度与稳定性。
5参考文献
- 桑吉东知,尕让甲,赵翔,等.西藏绿绒蒿属药用植物资源分布及其在藏医药中的应用情况分析[J/OL].亚太传统医药,1-5[2025-09-15].
- 陈佳欣,杜尚嘉,吴海霞,等.海南五指山不同海拔梯度下药用植物组成及分布特征[J/OL].热带作物学报,1-16[2025-09-15].
- 罗开金,余海燕,李庆波.宁夏贺兰山国家级自然保护区野生药用植物资源多样性分析[J].林业调查规划,2025,50(04):70-75+92.
- 李小平,王灵艳,苏守香,等.安徽升金湖国家级自然保护区药用植物资源多样性研究[J].林业调查规划,2025,50(04):50-57.
- 陈明.陕西汉阴县药用植物资源特征分析及中药产业初步规划[D].西北农林科技大学,2025.
- 余嘉莉,常梦琳,马良,等.中国兰科药用植物资源信息的收集与整理[J].武夷科学,2025,41(01):52-59.
- 樊敏,郭延秀,牛露露,等.甘肃省毛茛科药用植物资源评价分析[J].中国野生植物资源,2025,44(05):127-131.
- 金宏荣,韩雅茹,赵蕾,等.国家药用植物种质资源库(甘肃库)种质资源保存现状与分析[J].中国种业,2025,(05):15-24.
- 杨龙,胡锦华,陈婷.一种基于Hadoop架构和Django框架的图像存储系统设计与实现[J].电脑知识与技术,2024,20(07):57-59+63.
- 李子坤.基于知识库的林下药用植物信息检索系统[D].北京林业大学,2023.
- Xuan D ,Yuxuan B .A Pharmacy Drug Information Management System Based on Django Development[J].Academic Journal of Engineering and Technology Science,2024,7(4).
- Antonio M .Django 5 By Example:Build powerful and reliable Python web applications from scratch[M]. Packt Publishing Limited: 2024-04-30.
- Arghya S .Django in Production:Expert tips, strategies, and essential frameworks for writing scalable and maintainable code in Django[M]. Packt Publishing Limited: 2024-04-05.
- Kyoko T ,Hajime M ,Kenny K , et al.Medicinal plant garden in Japan, the world, and the future “1st International Symposium on Kampo Medicine”[J].Traditional & Kampo Medicine,2022,9(2):136-137.
- De M B S ,Paulino U A ,Lima D E A .Easy Access to Biomedicine and Knowledge about Medicinal Plants: A Case Study in a Semiarid Region of Brazil[J].Evidence-Based Complementary and Alternative Medicine,2022,20225073625-5073625.








