!!!!!!!!!
会持续一直更新下去 有问必答 一键收藏关注不迷路
源码获取:https://pan.baidu.com/s/1aRpOv3f2sdtVYOogQjb8jg?pwd=jf1d 提取码: jf1d
!!!!!!!!!
项目介绍
在快速发展的社会中,餐饮行业也在不断进步。为了提高消费者的就餐体验和餐厅管理的效率,越来越多的餐厅选择利用互联网进行线上管理各种事务,通过美食推荐可视化系统也就应运而生。他们不仅希望页面简单大方,还希望操作方便,可以快速锁定他们需要的美食信息。基于这种情况,我们需要这样一个界面简单大方、功能齐全的系统来解决用户问题,满足用户需求。
主要功能包括:
餐厅信息管理
添加、删除、更新餐厅信息,包括名称、位置、营业时间、菜单、图片等。
用户信息管理
添加、删除、更新用户信息,包括姓名、联系方式、账号信息等。
美食资源管理
上传、下载、更新美食资源(如图片、视频、菜单等)。
美食推荐:提供基于用户历史行为和相似用户行为的美食推荐功能。
提供基于内容的推荐功能,根据餐厅的属性和特征以及用户的兴趣偏好来推荐美食。
在线预订与支付:提供在线预订和支付功能,方便用户提前预定座位和支付费用。
通知公告管理:发布和管理通知公告,如优惠活动、新菜上线等信息。
用户反馈收集:收集用户反馈并进行统计分析,帮助餐厅改进服务和菜品质量。
数据分析与报告生成:生成餐饮数据报告,帮助管理者了解用户的需求和偏好,优化经营策略。
推荐算法
实现基于协同过滤的推荐算法,根据用户的历史行为和相似用户的行为推荐餐厅。
实现基于内容的推荐算法,根据餐厅的属性和特征以及用户的兴趣偏好推荐餐厅。
结合多种推荐算法,提高推荐的准确度和多样性。
数据可视化
使用Python的数据可视化库(如Matplotlib、Seaborn、Plotly)生成各类图表,展示用户行为、餐厅经营情况等数据。
提供数据报告生成功能,帮助管理者做出数据驱动的决策。
技术栈
1.运行环境:python3.7/python3.7
2.IDE环境:pycharm+mysql8.0;
3.数据库工具:Navicat15
技术栈
后端:python+django
前端:vue+CSS+JavaScript+jQuery+elementui
项目截图
核心代码
# coding:utf-8
# author:ila
import click,py_compile,os
from configparser import ConfigParser
from configs import configs
from utils.mysqlinit import Create_Mysql
from api import create_app
from api.exts import db
from api.models.user_model import *
from api.models.config_model import *
from api.models.brush_model import *
@click.group()
def sub():
pass
@click.command()
@click.option("-v", default=0.1, type=float)
def verr(v):
# VERSION = 0.1
click.echo("py sub system version:{}".format(v))
@click.command()
def run():
app = create_app(configs)
app.debug = configs['defaultConfig'].DEBUG
app.run(
host=configs['defaultConfig'].HOST,
port=configs['defaultConfig'].PORT,
threaded=configs['defaultConfig'].threaded,
processes=configs['defaultConfig'].processes
)
@click.command()
def create_all():
app = create_app(configs)
with app.app_context():
print("creat_all")
db.create_all()
@click.command()
@click.option("--ini", type=str)
def initsql(ini):
cp = ConfigParser()
cp.read(ini)
sqltype = cp.get("sql", "type")
database= cp.get("sql", "db")
if sqltype == 'mysql':
cm = Create_Mysql(ini)
cm.create_db("CREATE DATABASE IF NOT EXISTS `{}` /*!40100 DEFAULT CHARACTER SET utf8 */ ;".format(database))
with open("./db/mysql.sql", encoding="utf8") as f:
createsql = f.read()
createsql = "DROP TABLE" + createsql.split('DROP TABLE', 1)[-1]
cm.create_tables(createsql.split(';')[:-1])
cm.conn_close()
elif sqltype == 'mssql':
cm = Create_Mysql(ini)
cm.create_db("CREATE DATABASE IF NOT EXISTS `{}` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;".format(database))
with open("./db/mssql.sql", encoding="utf8") as f:
createsql = f.read()
createsql = "DROP TABLE" + createsql.split('DROP TABLE', 1)[-1]
cm.create_tables(createsql.split(';')[:-1])
cm.conn_close()
else:
print('请修改当前面目录下的config.ini文件')
@click.command()
@click.option("--py_path", type=str)
def compile(py_path):
print("py_path====>",py_path)
py_compile.compile(py_path)
@click.command()
def replace_admin():
filePath=os.path.join(os.getcwd(),"api/templates/front/index.html")
if os.path.isfile(filePath):
print(filePath)
with open(filePath,"r",encoding="utf-8") as f:
datas=f.read()
datas=datas.replace('baseurl+"admin/dist/index.html#"','"http://localhost:8080/admin"')
datas=datas.replace('baseurl+"admin/dist/index.html#/login"','"http://localhost:8080/admin"')
with open(filePath,"w",encoding="utf-8") as f:
f.write(datas)
sub.add_command(verr)
sub.add_command(run,"run")
sub.add_command(create_all,"create_all")
sub.add_command(initsql,"initsql")
sub.add_command(replace_admin,"replace_admin")
if __name__ == "__main__":
sub()
获取源码
!!!!!!!!!
源码获取:https://pan.baidu.com/s/1aRpOv3f2sdtVYOogQjb8jg?pwd=jf1d 提取码: jf1d
!!!!!!!!!