当前位置: 首页 > news >正文

基于Django开发校园食堂美食推荐系统

基于Django开发校园食堂美食推荐系统

项目简介

"食堂美食推荐系统"是一款专为校园美食推荐与交流平台。本系统旨在解决师生在校园食堂就餐时面临的"吃什么"的困扰,通过智能推荐、用户评价、社交互动等功能,为用户提供便捷、个性化的美食选择体验。

项目截图

核心功能

  1. 用户互动系统
  • 用户注册、登录、个人信息管理
  • 菜品收藏、评分、评论功能
  • 评论点赞、回复互动
  • 用户间社交互动
  1. 食堂管理功能
  • 食堂、窗口、菜品信息管理
  • 菜品标签分类系统
  • 价格、评分、销量等数据展示
  • 管理员后台数据维护

技术架构

-前端技术栈

  • Vue 3 + TypeScript
  • Vite 构建工具
  • Vant UI 组件库
  • Axios 网络请求

-后端技术栈

  • Django 4.1.7
  • SQLite 数据库(支持扩展至 MySQL)
  • RESTful API 设计
  • Django REST framework

-数据模型

  • 用户(User):用户信息、收藏、购买记录
  • 食堂(Canteen):食堂基本信息
  • 窗口(Window):食堂窗口信息
  • 菜品(Dish):菜品详情、价格、评分等
  • 标签(Tag):菜品分类标签
  • 评论(Comment):用户评价
  • 回复(Reply):评论互动

启动教程

一、环境准备

  1. 系统要求
  • Python 3.7+
  • Node.js 16+
  • npm 8+
  • Git
  1. 开发工具推荐
  • PyCharm
  • Git

二、后端启动步骤

  1. 创建并激活虚拟环境
# Windows
python -m venv venv
venv\Scripts\activate# macOS/Linux
python3 -m venv venv
source venv/bin/activate

2安装后端依赖

cd buaaDishWebsite
pip install -r requirement.txt# 如需支持跨域和MySQL,安装额外依赖
pip install mysqlclient django-cors-headers
  1. 数据库配置
# 执行数据库迁移
python manage.py makemigrations
python manage.py migrate# 创建超级管理员账号(可选)
python manage.py createsuperuser
  1. 启动后端服务
python manage.py runserver

服务默认运行在 http://localhost:8000

三、前端启动步骤

  1. 进入前端目录
cd ../vue
  1. 安装前端依赖
npm install
  1. 开发环境启动
npm run dev

前端服务默认运行在 http://localhost:5173

  1. 生产环境构建
npm run build

构建产物位于 dist 目录

四、项目配置说明

  1. 后端配置
  • 数据库配置:buaaDishWebsite/settings.py
  • API 路由:buaaDishWebsite/urls.py
  • 跨域设置:安装 django-cors-headers 后配置
  1. 前端配置
  • API 地址配置:src/config/index.ts
  • 环境变量:.env 文件
  • 构建配置:vite.config.ts

相关文章:

  • Spring Validation校验
  • 如何将内网的IP地址映射到外网?常见方法及详细步骤
  • 如何查看与设置电脑静态IP地址:完整指南
  • NODE-I916 I721模块化电脑发布,AI算力与超低功耗的完美平衡
  • 如何删除 HP 笔记本电脑中的所有数据:3 种解决方案说明
  • 汽车生产中的测试台连接 – EtherCAT 转CANopen高效的网关通信
  • 深入浅出:Spring Cloud Gateway 扩展点实践指南
  • 视频太大?用魔影工厂压缩并转MP4,画质不打折!
  • 探秘汽车门槛梁内板右后段成型工艺
  • Index-AniSora论文速读:探索Sora时代动画视频生成的前沿
  • Java实践:调用jar包里的方法
  • 【全解析】EN18031标准下的RLM恢复机制
  • 【人工智能】人工智能的幕后英雄:大模型训练的挑战与突破
  • Linux:进程信号---信号的概念与产生
  • BERT 作为Transformer的Encoder 为什么采用可学习的位置编码
  • 企业级 Hosts 自动化管理实战:基于 HTTP 检测的高可用域名解析方案
  • 使用 LibreOffice 实现各种文档格式转换(支持任何开发语言调用 和 Linux + Windows 环境)[全网首发,保姆级教程,建议收藏]
  • GMSL:汽车里的音视频传输
  • lambda架构和kappa架构区别
  • JAVA基础——程序流程控制(分支结构)
  • 中国10大品牌网官网/企业网站建设优化
  • 精简新闻网站开发/宜兴百度推广
  • wordpress首页显示标签/鄞州seo整站优化服务
  • 电商软件开发公司/春哥seo博客
  • java网站建设开源/百度指数是什么
  • 免费推广网站怎么做/小吴seo博客