基于Django和Bootstrap开发的美食推荐系统
项目截图

数据来源;https://www.xiaochushuo.com/
项目介绍
该项目基于 Django 和 Bootstrap 实现,旨在为用户提供个性化的美食推荐。系统通过爬虫抓取美食数据并利用 ECharts 实现数据分析和可视化,帮助用户更直观地了解美食推荐的内容。项目的后端使用 MySQL 数据库进行数据存储,并且通过 Django ORM 进行高效的数据库操作。
系统的主要功能包括:
- 美食数据的爬取与存储
- 美食的收藏与评论
- 美食数据的可视化展示(使用 ECharts)
- 用户友好的前端展示(使用 Bootstrap)
软件架构
该项目遵循 MTV(Model-Template-View) 架构,其中:
- Model(模型):负责与数据库的交互,定义数据表的结构。
- Template(模板):负责展示数据和用户界面,使用 Django 模板语言和 Bootstrap 实现前端。
- View(视图):处理用户请求,进行数据处理,并渲染相应的模板页面。
具体实现说明:
- 爬虫:使用 Python 编写爬虫程序抓取美食数据,保存到 MySQL 数据库。
- 数据分析 :通过 ECharts 在前端展示美食数据分析,包括类别分布、用户评价等信息。
- 后端:使用 Django 提供的 ORM(对象关系映射)技术,进行数据库操作,简化数据库的增删改查。
安装教程
前提条件
在本地机器上安装以下软件:
- Python 3.x
- MySQL
- Git
安装步骤
创建虚拟环境并激活:
bash
python -m venv venv
# 首先确保您的计算机上正确配置python环境变量
bash
venv\Scripts\activate
安装项目依赖包:
bash
pip install -r requirements.txt
配置数据库:
首先创建一个您的数据库,名字任意。
在 settings.py
中配置 MySQL 数据库连接,修改 DATABASES
配置项(改为您的创建的数据库名称和您的数据库密码):
python
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'your_db_name', # 数据库名称
'USER': 'root', # 数据库用户名
'PASSWORD': 'your_password', # 数据库密码
'HOST': 'localhost', # 本地运行数据库
'PORT': '3306', # mysql默认端口
}
}
在 get_data
文件夹下找到 analysis.py
和 csvtosql.py
,修改 connection
配置项:
python
connection = pymysql.connect(
host='localhost',
user='root',
password='your_password',
db='your_db_name',
charset='utf8mb4'
)
数据库迁移:
创建数据库迁移文件:
bash
python manage.py makemigrations
将迁移文件应用到数据库:
bash
python manage.py migrate
初始化项目相关数据:
注意:本步骤只需要在您第一次启动项目时运行,(因为内部代码还没有修改,以后会修改,如果重复运行会导致数据库中的foods表插入重复数据)有个别数据爬取失败并不影响系统最后的使用效果,如果最后终端显示 分析数据成功插入数据库!
则可以继续下一步
爬取相关美食数据并存入数据库,并生成相关分析数据存入数据库:
bash
python initialization.py
启动项目:
bash
python manage.py runserver
项目启动成功后在浏览器中访问 http://127.0.0.1:8000/
,即可查看项目的首页,并开始使用美食推荐系统。
使用教程
本项目是一个基于 Django 和 Bootstrap 实现的美食推荐系统。用户可以通过该系统浏览不同种类的美食,查看推荐的食谱,并通过数据分析图表了解热门美食的趋势。
用户注册与登录
在本系统中,用户的密码并不会以明文形式存储。系统使用 哈希加密
技术(通过 Django
的 make_password
函数),确保密码在存储时得到加密处理。具体而言,系统采用 PBKDF2
哈希算法对密码进行加密,该算法经过广泛验证并且适应现代安全要求。这样即使数据库被攻击,用户的密码也不会被泄露。
- 打开登录主页,点击左下角的 "注册" 按钮。
- 填写用户名、密码和其他必要的个人信息,点击 "注册" 完成注册。
- 注册成功后,您将返回登录页面,成功登录后即可进入系统(请牢记您的密码,数据库中储存的并不是明文密码,无法查看)。
修改个人信息
- 登录后,点击右上角的 "个人资料",进入个人信息页面。
- 在该页面,您可以修改您的个人信息,如用户名、密码等。
美食相关
- 您可以进入美食列表相关页面查看美食,也有基于地方菜名的简单筛选。
- 您可以点击喜欢的美食进入美食详情页,在详情页用户可以发表自己的评价,也可以将美食加入收藏。
- 系统还有针对每个用户的收藏夹,在这里您可以看见您所收藏的美食,方便管理。
数据分析
- 在相关的分析,您将看到基于 ECharts 实现的美食数据分析图表。
- 这些图表展示了不同类型美食的受欢迎程度、评论量、收藏量等数据,让您可以更直观地了解美食的趋势。
注销
- 如果您想退出系统,可以点击右上角的 "退出" 按钮。
- 注销后,您将返回到登录页面。
其他功能
系统提供了搜索功能,支持您对自己喜欢的菜肴进行检索,检索范围不局限于菜名也包括具体描述。
源码获取方式
需要成品,加我的时候,记得把本页面标题截图发下我
文章最下方名片联系我即可~