python基础课程设计项目_python项目
泉州信息工程学院
软件学院
课程设计报告书
课程名:python课程设计
课程设计项目名称:基于Django的中餐厅网站的设计与实现
团队成员: 刘冬华、杨艺萍
一、项目简介
1.1 项目博客地址
1.2 项目完成的功能与特色
本项目实现的主要功能有会员登录、会员注册、网站前端页面的显示和网站管理员对后台数据的管理,以及前后端连接数据库,获取数据库的信息,进行增删改查,并将信息遍历在网页前端显示出来,。
项目特色是为中餐美食爱好者提供美食菜谱选择,以餐厅网站形式让顾客了解餐厅的美食,食膳轩以特色经营为基础,以服务满意为保证,倾心打造至高品味的美食场所,创立中餐特色餐饮品牌,将传统大型中餐与特色餐饮相结合,满足不同消费群体的不同需求。
1.3 项目采用的技术栈
本项目使用pycham,mysql两种python工具,使用了Django框架,mysql数据库。
1.4 项目借鉴源代码的地址
1.5 团队成员任务分配表
姓名
任务分配
组长
刘冬华
前端数据:
数据库表:config表,picture表,nav表,user表
会员注册、登录
组员
杨艺萍
数据库:features表、menu表、about表、team表
后端管理员操作
菜品数据分析
二、项目的需求分析
2.1前期调查
随着中餐美食越来越受人们喜爱,中餐厅的竞争模式也愈发激烈,宣传方式也变得五花八门,在信息在网络上普及的时代,通过网络做为宣传模式介绍餐厅特色,在此情况下,我们以中式餐厅为出发点做一家中式餐厅的网站,希望可以给到中餐美食爱好者另一种视觉体验。
2.2需求分析
由前期调查可以了解到,我们的网站需要能够介绍餐厅信息,展示出餐厅特色菜品,以及美食的照片和参照价格。用以介绍餐厅特色,及给到消费者不一样的美食体验和超前的消费感受。
三、项目功能架构图、主要功能流程图
3-1项目功能架构图
3-2主要功能流程图
四、系统模块说明
4.1 系统模块列表
(1)前端数据
模块名称
导航栏
图片
文字
模块内容
特色菜
我们的故事
菜单
大厨
会员中心
其他
菜品分析
见网页
4-1前端数据表
(2)后端数据、数据库数据
(3)会员登录、注册功能
4.2 各模块详细描述(名称,功能,运行截图,关键源代码)
4.2.1前端显示数据
功能:数据遍历到页面
(1)导航栏模块
源代码:
{% foriinb%}
{{i.name}}
{% endfor%}
(2)图片模块
源代码:
{{ i.name}}
{{i.text}}
(3)文字模块
源代码:
{{ i.name}}
{{i.text}}
4.2.2后端获取数据
功能:后端管理员操作:后台数据的管理,增、删、改、查
源代码:
defindex(request):
a = Picture.objects.all()
b = Nav.objects.all() #目录c = Features.objects.all() #特色菜d = About.objects.all() #我们的故事e = Menu.objects.all() #菜单e1 = Menu1.objects.all()
e2 = Menu2.objects.all()
e3 = Menu3.objects.all()
contact=Contact.objects.all()
team=Team.objects.all()
returnrender(request, "index.html", {"a": a, "b": b, "c": c, "d": d, "e": e, "e1": e1, "e2": e2, "e3": e3,"contact":contact,"team":team})
运行截图:
4.2.3数据库管理数据
功能:通过mysql来存储数据,用超级管理员对数据进行增删改查
运行截图:
Nav表
About表
Picture表
数据库表
4.2.4会员登录、注册
(1)会员注册
功能:用来从数据库获取数据,然后传到页面,实现用户注册
源代码:
defregist(request):
ifrequest.method == 'GET':
returnrender(request,'regist.html')
ifrequest.method == 'POST':
name = request.POST.get('name')
pwd = request.POST.get('pwd')
re_pwd = request.POST.get('re_pwd')
ifname andpwd andre_pwd:
ifpwd == re_pwd:
user_obj = models.User.objects.filter(name=name).first()
ifuser_obj:
returnHttpResponse('用户已存在')
else:
models.User.objects.create(name=name,pwd=pwd).save()
returnredirect('/login/')
else:
returnHttpResponse('两次密码不一致')
else:
returnHttpResponse('不能有空!')
运行截图:
(2)会员登录
功能:用来从数据库获取数据,然后传到页面,实现用户登录
源代码:
@csrf_exempt
deflogin(request):ifrequest.method == 'GET':
returnrender(request,'login.html')
ifrequest.method == 'POST':
name = request.POST.get('name')
pwd = request.POST.get('pwd')
user_obj = models.User.objects.filter(name=name,pwd=pwd).first()
ifuser_obj:
returnredirect('/user/')
else:
returnHttpResponse('用户名或密码错误')
运行截图:
4.2.5菜品数据分析
功能:用来分析菜品占比,形成数据图
源代码:
defs(request):
getname = request.GET.get('name')
p = Num.objects.get(name=getname)
p.click = p.click + 1
p.save()
defybt(zs):
importmatplotlib.pyplot asplt
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
plt.rcParams['axes.unicode_minus'] = Falseedu = (zs[0].click,zs[1].click,zs[2].click)
labels = (zs[0].name,zs[1].name,zs[2].name)
explode = [0,0,0]
color = ['yellow', 'red', 'brown']
plt.axes(aspect='equal')
plt.pie(x=edu, labels=labels, autopct='%.1f%%',
explode=explode, colors=color,
wedgeprops={'linewidth': 1.5, 'edgecolor': 'black'},
textprops={'fontsize': 10, 'color': 'black'})
plt.title('菜品分析')
plt.savefig('./static/img/0123.png')
plt.clf()
return
运行截图:
五、项目总结
5.1 特点
本系统是使用Django框架,运用了mysql的技术对数据进行管理,还使用了超级管理员,通过models在admin中可以直接对数据库进行增删改查操作。用以介绍餐厅特色,及给到消费者不一样的美食体验和超前的消费感受。
5.2 不足之处
系统的运行效率还有改进的地方,数据库表还不够优化。前台页面的操作功能还不够完善。
python基础课程设计项目_python项目相关推荐
- python基础课程设计项目_Python+MySQL开发医院网上预约系统(课程设计)一
一:开发环境的配置 1:桌面环境为cnetos+python2.7 2:MySQL的安装与配置 1)MySQL的安装 wget http://repo.mysql.com/mysql57-commun ...
- python基础课程设计项目_python基础课程设计《汽车销售管理系统》
程序使用说明(该博客图片水印为改名前所加故与博客昵称不同) 该程序为汽车销售管理系统,可通过功能7实现对车库文件内(文件CarMessage.txt)车辆车辆的查看:如果有新车将要进入车库则会使用到功 ...
- Python 基础课程第十一天
Python 基础课程第十一天 第七章模块(module) 1. 模块化(module)程序设计理念 1.1 模块和包概念的进化史 1.2 标准库模块(standard library) 1.3 为什 ...
- Python 基础课程第十天
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 Python 基础课程第十天 第八章文件操作(IO 技术) 文本文件和二进制文件 文件操作相关模块概述 创建文件对象open() 文本 ...
- 七月在线python数据分析_七月在线Python基础+数据分析班+爬虫项目
资源介绍 七月在线Python基础+数据分析班+爬虫项目 目录 ├─Python基础入门班2017年 ││代码.rar │└─视频 │xa0 xa0 01.第1课 入门基础.rar │xa0 xa0 ...
- Python 基础课程第八天
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 Python 基础课程第八天 第6 章(1) 面向对象初步 方法没有重载 方法的动态性 私有属性和私有方法(实现封装) @proper ...
- Python 基础课程第五天
Python 基础课程第五天 第四章:控制语句 循环结构 for循环和可迭代对象遍历 可迭代对象 range 对象 嵌套循环和综合练习 break 语句 continue 语句 else 语句 循环代 ...
- python 基础课程第三天
文章目录 python 基础课程第三天 字符串 可变字符串 基本运算符 复合赋值运算符 运算符优先级 序列 列表简介 列表的创建 基本语法[]创建 list()创建 range()创建整数列表 推导式 ...
- python 基础课程第二天
文章目录 python 基础课程第二天 链式赋值 系列解包赋值 常量 最基本内置数据类型介绍 数字和基本运算符 整数 使用INT()实现类型转换: 自动转型: 整数可以多大 浮点数 类型转换和四舍五入 ...
最新文章
- 数据结构----单链表增删改查
- Java 程序员必须掌握的 10 款开源工具!
- 在Linux系统下查看ora错误
- 约会安排 (区间合并)毒瘤题
- 设置MySQL服务的字符集为uft8
- Python加lxml实现图片解析下载功能
- Java代码格式化算法_一个时间格式化的工具类:TimeUtil
- django+mysql+插入数据库网页展示内容
- Codeforces 1029B. Creating the Contest 动态规划O(nlogn)解法 及 单调队列O(n)解法
- PVID、Access、Trunk、Hybrid三种不同端口收发规则、Vlan中tagged端口和untagged端口的区别
- envi插件大津法_IDL处理Himawari8-NC数据
- 控制网平差(C++实现)
- 程序员价值观和网络复杂性-网络不可达排查过程
- 服务假死问题解决过程实记(一)——问题发现篇
- python抢红包程序算法,Python 抢红包算法模拟
- linux 软件包kbd 位置,kbd-audio:通过麦克风来捕获和分析键盘输入的工具
- 华为matepad切换电脑模式_华为MatePad Pro关于PC模式常用操作指南
- 基于ARM的嵌入式Linux开发平台
- 上课记录笔记 项目1 文字大乱斗 v0.1
- ubuntu 公网FTP搭建,解决无法连接