赞
踩
本论文主要论述了如何使用python语言开发一个网上订餐系统 ,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发。在引言中,作者将论述网上订餐系统 的当前背景以及系统开发的目的,后续章节将严格按照软件开发流程,对系统进行各个阶段分析设计。系统采用Python编程语言,Django框架,前端Vue技术,MySQL为后台数据库。
网上订餐系统的主要使用者分为管理员、商家和用户,实现功能包括管理员:首页、个人中心、个人信息、菜品类型管理,论坛管理、系统管理、商家管理、菜品信息管理、投诉建议管理、用户管理、订单信息管理、评价信息管理等等。商家管理:个人中心、个人信息、菜品信息、投诉建议管理、订单信息管理、评价信息等功能。用户管理:个人中心、个人信息、投诉建议管理、订单信息管理、评价信息、我的收藏等等。由于本网站的功能模块设计比较全面,所以使得整个网上订餐系统 的过程得以实现。
开发语言:Python
数据库 :MySQL
系统架构:B/S
后端框架:Django
前端框架:Vue
开发工具:Pycharm
支持定做:Java/PHP/Python/Android/小程序/Vue/爬虫/C#/Asp.net
def dingdanpingjia_page(request): ''' ''' if request.method in ["POST", "GET"]: msg = {"code": normal_code, "msg": mes.normal_code, "data":{"currPage":1,"totalPage":1,"total":1,"pageSize":10,"list":[]}} req_dict = request.session.get("req_dict") #获取全部列名 columns= dingdanpingjia.getallcolumn( dingdanpingjia, dingdanpingjia) #当前登录用户所在表 tablename = request.session.get("tablename") #authColumn=list(__authTables__.keys())[0] #authTable=__authTables__.get(authColumn) # if authTable==tablename: #params = request.session.get("params") #req_dict[authColumn]=params.get(authColumn) '''__authSeparate__此属性为真,params添加userid,后台只查询个人数据''' try: __authSeparate__=dingdanpingjia.__authSeparate__ except: __authSeparate__=None if __authSeparate__=="是": tablename=request.session.get("tablename") if tablename!="users" and 'userid' in columns: try: req_dict['userid']=request.session.get("params").get("id") except: pass #当项目属性hasMessage为”是”,生成系统自动生成留言板的表messages,同时该表的表属性hasMessage也被设置为”是”,字段包括userid(用户id),username(用户名),content(留言内容),reply(回复) #接口page需要区分权限,普通用户查看自己的留言和回复记录,管理员查看所有的留言和回复记录 try: __hasMessage__=dingdanpingjia.__hasMessage__ except: __hasMessage__=None if __hasMessage__=="是": tablename=request.session.get("tablename") if tablename!="users": req_dict["userid"]=request.session.get("params").get("id") # 判断当前表的表属性isAdmin,为真则是管理员表 # 当表属性isAdmin=”是”,刷出来的用户表也是管理员,即page和list可以查看所有人的考试记录(同时应用于其他表) __isAdmin__ = None allModels = apps.get_app_config('main').get_models() for m in allModels: if m.__tablename__==tablename: try: __isAdmin__ = m.__isAdmin__ except: __isAdmin__ = None break # 当前表也是有管理员权限的表 if __isAdmin__ == "是": if req_dict.get("userid"): del req_dict["userid"] else: #非管理员权限的表,判断当前表字段名是否有userid if tablename!="users" and "userid" in dingdanpingjia.getallcolumn(dingdanpingjia,dingdanpingjia): req_dict["userid"] = request.session.get("params").get("id") #当列属性authTable有值(某个用户表)[该列的列名必须和该用户表的登陆字段名一致],则对应的表有个隐藏属性authTable为”是”,那么该用户查看该表信息时,只能查看自己的 try: __authTables__=dingdanpingjia.__authTables__ except: __authTables__=None if __authTables__!=None and __authTables__!={}: try: del req_dict['userid'] except: pass for authColumn,authTable in __authTables__.items(): if authTable==tablename: params = request.session.get("params") req_dict[authColumn]=params.get(authColumn) break msg['data']['list'], msg['data']['currPage'], msg['data']['totalPage'], msg['data']['total'], \ msg['data']['pageSize'] =dingdanpingjia.page(dingdanpingjia, dingdanpingjia, req_dict) return JsonResponse(msg)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。