html管理员后台的增删改查,6.后台管理,添加,删除,修改和
查询
后台管理我⽤的是adminlte,也可以⽤其它后台模板,后台最好在创建⼀个app,分页adminlte已经写好了,搜索也写好了,好⽤的⼀批,
前台的怎么⽤⾃⾏百度, adminlte有官⽅⽂档,3.0版本好像没有中⽂⽂档,去看英⽂
增删改查全部举商品的例⼦
1.增加商品
实现流程:
超管来到后台页⾯可以对商品信息,⽤户信息和订单信息进⾏增删改查。以商品管理为例,点击添加商品,弹出窗⼝可以填写具体商品信息,点击⽴刻添加即可添加商品信息。
图4-28管理员添加商品图.png
具体实现思路:
点击添加商品按钮,调⽤openIframe函数,该函数的具体功能是打开⼀个窗⼝,在窗⼝⾥加载⼀个⽹页,添加商品功能⾸先是图⽚的处理,选择图⽚显⽰在页⾯部分显⽰,再⽤uuid函数处理成名字不重复的图⽚,存到media⽂件夹下,判断关键字段不为空后存到数据库。上
传成功该页⾯存在两秒关闭,并且刷新商品管理页⾯。
打开窗⼝函数核⼼代码:
function openIframe(title, url, h, w) {
if (title == null || title == '') {
title = false;
}
if (url == null || url == '') {
url = "404.html";
}
if (w == null || w == '') {
w = ($(window).width() * 0.9);
}
if (h == null || h == '') {
h = ($(window).height() - 50);
}
layer.open({
type: 2,
area: [w + 'px', h + 'px'],
fix: false, //不固定
maxmin: true,html主页
shadeClose: true,
shade: 0.4,
title: title,
content: url
});
}
管理员添加商品核⼼代码:
@csrf_exempt
def manage_issue(request):
flag = 0
hod == "POST":
goods_name = ("goods_name")
goods_detal = ("goods_detal")
goods_price = ("goods_price")
categorys = ("categorys")
transactionMode = ("transactionMode")
address = ("address")
pho_num = ("pho_num")
qq_num = ("qq_num")
wechat_num = ("wechat_num")
file_img = ('file_img')
file_chunks = file_img.chunks()
# /images/qwyuqguweuq.jpg
file_name = os.path.join("images", do_file_name(file_img.name)).replace('\\', '/') # 完整的路径
file_path = os.path.join(settings.MEDIA_ROOT, file_name).replace('\\', '/')
with open(file_path, "wb")as file:
for chunk in file_chunks:
file.write(chunk)
new_issue = Goods()
new_issue.name = goods_name
new_issue.detal = goods_detal
new_issue.price = goods_price
new_issue.master_pho = pho_num
new_issue.master_qqnum = qq_num
new_issue.master_wechatnum = wechat_num
ading = transactionMode
userid = 1
new_issue.user = (id=userid)
sort = (id=categorys)
print(sort.__dict__)
new_issue.sort = sort
new_issue.img = file_name
try:
new_issue.save()
flag = 1
except Exception as e:
print(e)
return HttpResponse(flag)
3.修改商品
修改数据流程:
点击表格操作栏下的第⼀个按钮,进⼊可以修改商品信息,⽤户信息和订单信息。页⾯⾃动加载出原来的信息,管理员输⼊需要修改的信息,点击保存按钮,数据会存到后台数据库,两秒后页⾯⾃动关闭,并且刷新页⾯,以商品信息为例:
图4-29管理员修改商品信息图.png
具体实现;
点击右侧修改按钮,调⽤openIframe函数函数,打开窗⼝加载页⾯,加载的同时把商品id传到该页⾯,然后将商品的信息动态显⽰,需要注意的是图⽚的加载⽅式{{ MEDIA_URL }}{{goods.img}},花括号前⾯部分是加载media⽂件的路径,其中url映射为MEDIA_URL =
'/media/'。点击保存后将修改后的数据保存到数据库。
核⼼代码:
@csrf_exempt
def update(request):
flag = 0
hod == "POST":
id = ("id")
goods_name = ("goods_name")
goods_detal = ("goods_detal")
goods_price = ("goods_price")
categorys = ("categorys")
transactionMode = ("transactionMode")
address = ("address")
pho_num = ("pho_num")
qq_num = ("qq_num")
wechat_num = ("wechat_num")
file_img = ('file_img')
file_chunks = file_img.chunks()
# ⽂件保存的路径
# /images/qwyuqguweuq.jpg
file_name = os.path.join("images", do_file_name(file_img.name)).replace('\\', '/') # 完整的路径
file_path = os.path.join(settings.MEDIA_ROOT, file_name).replace('\\', '/')
with open(file_path, "wb")as file:
for chunk in file_chunks:
file.write(chunk)
twz = (id=id)
twz.name = goods_name
twz.detal = goods_detal
twz.price = goods_price
twz.master_pho = pho_num
twz.master_qqnum = qq_num
twz.master_wechatnum = wechat_num
sort = (id=categorys)
twz.sort = sort
twz.img = file_name
try:
twz.save()
flag = 1
except Exception as e:
print(e)
return HttpResponse(flag)
4.查询商品
查询流程:
管理员在右侧搜索框输⼊关键字,表格中显⽰出匹配的数据。
核⼼代码:这⾥的搜索⽤的是adminlte⾃带的搜索,我给出我主页模糊搜索给你们参考,改写下即可:def search(request):
flag = 1
key = ("key")
print("key" + key)
nick_name = ('nick_name')
goods_list = Goods.objects.filter(name__contains=key).order_by('-create_time')
return render(request, 'index.html', {"goods_list": goods_list, "nick_name": nick_name})
5.删除商品
删除流程:
管理员点击操作栏右侧的删除按钮,删除对应数据。
实现思路和核⼼代码:
该部分和购物车删除功能实现思路类似,代码不再给出。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论