泉州信息工程学院

软件学院

课程设计报告书

课程名: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项目相关推荐

  1. python基础课程设计项目_Python+MySQL开发医院网上预约系统(课程设计)一

    一:开发环境的配置 1:桌面环境为cnetos+python2.7 2:MySQL的安装与配置 1)MySQL的安装 wget http://repo.mysql.com/mysql57-commun ...

  2. python基础课程设计项目_python基础课程设计《汽车销售管理系统》

    程序使用说明(该博客图片水印为改名前所加故与博客昵称不同) 该程序为汽车销售管理系统,可通过功能7实现对车库文件内(文件CarMessage.txt)车辆车辆的查看:如果有新车将要进入车库则会使用到功 ...

  3. Python 基础课程第十一天

    Python 基础课程第十一天 第七章模块(module) 1. 模块化(module)程序设计理念 1.1 模块和包概念的进化史 1.2 标准库模块(standard library) 1.3 为什 ...

  4. Python 基础课程第十天

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 Python 基础课程第十天 第八章文件操作(IO 技术) 文本文件和二进制文件 文件操作相关模块概述 创建文件对象open() 文本 ...

  5. 七月在线python数据分析_七月在线Python基础+数据分析班+爬虫项目

    资源介绍 七月在线Python基础+数据分析班+爬虫项目 目录 ├─Python基础入门班2017年 ││代码.rar │└─视频 │xa0 xa0 01.第1课 入门基础.rar │xa0 xa0 ...

  6. Python 基础课程第八天

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 Python 基础课程第八天 第6 章(1) 面向对象初步 方法没有重载 方法的动态性 私有属性和私有方法(实现封装) @proper ...

  7. Python 基础课程第五天

    Python 基础课程第五天 第四章:控制语句 循环结构 for循环和可迭代对象遍历 可迭代对象 range 对象 嵌套循环和综合练习 break 语句 continue 语句 else 语句 循环代 ...

  8. python 基础课程第三天

    文章目录 python 基础课程第三天 字符串 可变字符串 基本运算符 复合赋值运算符 运算符优先级 序列 列表简介 列表的创建 基本语法[]创建 list()创建 range()创建整数列表 推导式 ...

  9. python 基础课程第二天

    文章目录 python 基础课程第二天 链式赋值 系列解包赋值 常量 最基本内置数据类型介绍 数字和基本运算符 整数 使用INT()实现类型转换: 自动转型: 整数可以多大 浮点数 类型转换和四舍五入 ...

最新文章

  1. 数据结构----单链表增删改查
  2. Java 程序员必须掌握的 10 款开源工具!
  3. 在Linux系统下查看ora错误
  4. 约会安排 (区间合并)毒瘤题
  5. 设置MySQL服务的字符集为uft8
  6. Python加lxml实现图片解析下载功能
  7. Java代码格式化算法_一个时间格式化的工具类:TimeUtil
  8. django+mysql+插入数据库网页展示内容
  9. Codeforces 1029B. Creating the Contest 动态规划O(nlogn)解法 及 单调队列O(n)解法
  10. PVID、Access、Trunk、Hybrid三种不同端口收发规则、Vlan中tagged端口和untagged端口的区别
  11. envi插件大津法_IDL处理Himawari8-NC数据
  12. 控制网平差(C++实现)
  13. 程序员价值观和网络复杂性-网络不可达排查过程
  14. 服务假死问题解决过程实记(一)——问题发现篇
  15. python抢红包程序算法,Python 抢红包算法模拟
  16. linux 软件包kbd 位置,kbd-audio:通过麦克风来捕获和分析键盘输入的工具
  17. 华为matepad切换电脑模式_华为MatePad Pro关于PC模式常用操作指南
  18. 基于ARM的嵌入式Linux开发平台
  19. 上课记录笔记 项目1 文字大乱斗 v0.1
  20. ubuntu 公网FTP搭建,解决无法连接

热门文章

  1. CCF_Java_201909-1_小明种苹果
  2. android移动支付——支付宝支付
  3. 淘宝购物车运费计算方式
  4. 给li 标签平添图标的三种方法
  5. java 将微信录音amr转换为mp3格式
  6. Lombok插件安装
  7. 解读0-1背包问题的状态转移方程
  8. 用友ERP T6技术解析(六) 库龄分析
  9. SPU、SKU和item
  10. webrtc 视频的采集,编码,发送流程详细分析(希望对底层深入了解的朋友有所帮助)