开发环境

项目编号:py230基于python的网上家纺商城#毕业设计
开发语言:Python
python框架:django
软件版本:python3.7/python3.8
数据库:mysql 5.7或更高版本
数据库工具:Navicat11
开发软件:PyCharm/vs code
前端框架:vue.js

项目介绍

本论文主要论述了如何使用DJANGO语言开发一个网上家纺商城,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发。在引言中,作者将论述网上家纺商城的当前背景以及系统开发的目的,后续章节将严格按照软件开发流程,对系统进行各个阶段分析设计。
网上家纺商城的主要使用者分为管理员和会员,实现功能包括管理员:首页、个人中心、会员管理、商品类别管理、商品信息管理、商品库存管理、出库记录管理、入库记录管理、销量统计管理、联系我们管理、留言板管理、系统管理、订单管理;会员:首页、个人中心、我的收藏管理、订单管理等功能。由于本网站的功能模块设计比较全面,所以使得整个网上家纺商城信息管理的过程得以实现。
本系统的使用可以实现本网上家纺商城管理的信息化,可以方便管理员进行更加方便快捷的管理,可以提高网上家纺商城的管理效率。
py230基于python的网上家纺商城#毕业设计_开发语言

系统截图

py230基于python的网上家纺商城#毕业设计_信息管理_02
py230基于python的网上家纺商城#毕业设计_信息管理_03
py230基于python的网上家纺商城#毕业设计_json_04
py230基于python的网上家纺商城#毕业设计_json_05

关键代码

def cart_resetPass(request):
'''
'''
if request.method in ["POST", "GET"]:
msg = {"code": normal_code, "msg": mes.normal_code}

req_dict = request.session.get("req_dict")

error = cart.updatebyparams(cart,cart, req_dict)

if error != None:
msg['code'] = crud_error_code
msg['msg'] = error
return JsonResponse(msg)



def cart_session(request):
'''
'''
if request.method in ["POST", "GET"]:
msg = {"code": normal_code,"msg": mes.normal_code, "data": {}}

req_dict={"id":request.session.get('params').get("id")}
msg['data'] = cart.getbyparams(cart, cart, req_dict)[0]

return JsonResponse(msg)



def cart_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= cart.getallcolumn( cart, cart)

#当前登录用户所在表
tablename = request.session.get("tablename")
#当列属性authTable有值(某个用户表)[该列的列名必须和该用户表的登陆字段名一致],则对应的表有个隐藏属性authTable为”是”,那么该用户查看该表信息时,只能查看自己的
try:
__authTables__=cart.__authTables__
except:
__authTables__=None

if __authTables__!=None and __authTables__!={}:

for authColumn,authTable in __authTables__.items():
if authTable==tablename:
params = request.session.get("params")
req_dict[authColumn]=params.get(authColumn)
break

#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__=cart.__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__=cart.__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__ == "是" and req_dict.get("userid"):
del req_dict["userid"]
else:
#非管理员权限的表,判断当前表字段名是否有userid
if tablename!="users" and "userid" in cart.getallcolumn(cart,cart):
req_dict["userid"] = request.session.get("params").get("id")


msg['data']['list'], msg['data']['currPage'], msg['data']['totalPage'], msg['data']['total'], \
msg['data']['pageSize'] =cart.page(cart, cart, req_dict)

return JsonResponse(msg)