# -*- coding: utf-8 -*- from django.shortcuts import render, redirect from django.conf.urls import url from django.http import HttpResponse from django.views.generic.base import View from django.views.generic import ListView from django.contrib import auth from django.contrib.auth.hashers import make_password, check_password from django.contrib.auth import authenticate, login as auth_login, logout from yfwlw_pro.settings import get_client_ip # from apps.AppInfoManage.models import Help, MyUser, User_Group,User_Log from apps.AppInfoManage.models import * from django.contrib.auth.decorators import login_required from django.db.models import Q import json from apps.EquipManage.views import CJSONEncoder from apps.SimInfo.views import get_simsinfo, get_siminfo import re import time import datetime,os from PIL import Image from apps.ReportManage.all_dict import qxz_dict # app登录: class app_login(View): def get(self, request): pass def post(self, request): user_name = request.POST.get('username') pass_word = request.POST.get('password') print('输入的用户名:', user_name) print('输入的密码:', pass_word) user = MyUser.objects.extra( where=['binary username=%s'], params=[user_name]) print("user.exists():", user.exists()) data = {"role":"","code":"0"} if user.exists() == False: data = {"role":"","code":"1"} data = json.dumps(data) return HttpResponse(data) else: user = MyUser.objects.get(username=user_name) if user.is_active != True: data = {"role":"","code":"2"} data = json.dumps(data) return HttpResponse(data) else: if check_password(pass_word, user.password) != True: data = {"role":"","code":"3"} print('密码错误') data = json.dumps(data) return HttpResponse(data) else: print('登陆成功') auth_user = authenticate( username=user_name, password=pass_word) auth_login(request, auth_user) # 将当前登录的用户名写入session request.session['username'] = user_name if user.is_superuser: role = "superuser" elif user.is_staff: role = "staff" elif user.is_agency: role = "agency" else: role = "user" # 记录用户操作记录: User_Log.objects.create( log_user=request.user.username, log_ip=get_client_ip(request), log_desc='app登录') data = {"role":role,"code":"0"} data = json.dumps(data) print("data:",data) return HttpResponse(data) # 退出APP登录: @login_required def app_logout(request): username = request.POST.get('username') print("用户退出") # 删除session del request.session['username'] auth.logout(request) data = "0" return HttpResponse(data) # 个人信息: class app_user_info(View): def get(self, request): pass def post(self, request): req = request.POST.get('req') user_name = request.user.username if req == "info": user = MyUser.objects.filter(username=user_name) for x in user: data = {"username": x.username, "email": x.email, "user_phone": x.user_phone, "user_pro": x.user_pro, "user_city": x.user_city, "user_area": x.user_area, "user_picture":str(x.user_picture) } data = json.dumps(data) print("data:",data) return HttpResponse(data) elif req == "change_info": user = MyUser.objects.get(username=user_name) user.user_phone = request.POST.get('phone') user.user_pro = request.POST.get('province') user.user_city = request.POST.get('city') user.user_area = request.POST.get('area') print("phone:", request.POST.get('phone')) print("province:", request.POST.get('province')) print("city:", request.POST.get('city')) print("area:", request.POST.get('area')) try: user.save() User_Log.objects.create(log_user=request.user.username, log_ip=request.META['REMOTE_ADDR'], log_desc='修改个人信息') data = "0" return HttpResponse(data) except: data = "1" return HttpResponse(data) # 修改头像: elif req == "change_photo": user = MyUser.objects.get(username=user_name) user_photo = request.FILES.get('file') print("APP修改用户头像:", user_photo) user_photo_dir = 'user_photo/' # 判断如果路径不存在,即创建路径 if os.path.exists(user_photo_dir) == False: os.makedirs(user_photo_dir) img = Image.open(user_photo) img.save(user_photo_dir + user_name+".png") new_photo = user_photo_dir + user_name+".png" # 数据库关联设备,并在照片的表中存入路径: user.user_picture = new_photo user.save() data = "0" return HttpResponse(data) # 设备列表: class app_equip_list(View): def get(self, request): pass def post(self, request): filt = request.POST.get('filter') print("filt:", filt) page = int(request.POST.get('page')) print("page:", page) current_user = request.session.get('username') print("current_user:", current_user) current_user = MyUser.objects.get(username=current_user) if filt == "": if current_user.is_superuser != True and current_user.is_staff != True and current_user.is_agency != True: print("---不是管理员") equip_list = Equip.objects.filter(equip_user=current_user) elif current_user.is_superuser != True and current_user.is_staff != True and current_user.is_agency == True: print("---经销商") equip_list = Equip.objects.filter(equip_agency=current_user.user_agency) else: print("---管理员") equip_list = Equip.objects.all() else: if current_user.is_superuser != True and current_user.is_staff != True and current_user.is_agency != True: print("---不是管理员") equip_list = Equip.objects.filter(Q(equip_user=current_user, equip_id__contains=filt) | Q( equip_user=current_user, equip_name__contains=filt)) elif current_user.is_superuser != True and current_user.is_staff != True and current_user.is_agency == True: print("---经销商") equip_list = Equip.objects.filter(Q(equip_agency=current_user.user_agency, equip_id__contains=filt) | Q( equip_agency=current_user.user_agency, equip_name__contains=filt)) else: print("---管理员") equip_list = Equip.objects.filter( Q(equip_id__contains=filt) | Q(equip_name__contains=filt)) nums = equip_list.count() equip_list = equip_list[(10*(page-1)):(page*10)] data = {'nums': nums, 'dat': ""} dat = [] for i in equip_list: sta1 = Equip.objects.filter(equip_id=i.equip_id).select_related() for x in sta1: try: sta2 = {"equip_id": x.equip_id, "equip_user": x.equip_user.username, "equip_name": x.equip_name, "equip_type": x.equip_type.type_id} except AttributeError: sta2 = {"equip_id": x.equip_id, "equip_user": "", "equip_name": x.equip_name, "equip_type": x.equip_type.type_id} dat.append(sta2) User_Log.objects.create(log_user=request.user.username, log_ip=request.META['REMOTE_ADDR'], log_desc='设备列表') data['dat'] = dat data = json.dumps(data, cls=CJSONEncoder) print("data:", data) return HttpResponse(data) # 设备列表详情: class app_equip_list_detail(View): def post(self, request): equip_id = request.POST.get('equip_id') x = Equip.objects.get(equip_id=equip_id) try: dat = {"equip_id": x.equip_id, "equip_user": x.equip_user.username, "equip_name": x.equip_name, "equip_add_time": x.equip_add_time, "equip_type": x.equip_type.type_id, "equip_location": x.equip_location} except AttributeError: dat = {"equip_id": x.equip_id, "equip_user": "", "equip_name": x.equip_name, "equip_add_time": x.equip_add_time, "equip_type": x.equip_type.type_id, "equip_location": x.equip_location} # User_Log.objects.create( # log_user=request.user.username, log_ip=request.META['REMOTE_ADDR'], log_desc='设备列表') data = json.dumps(dat, cls=CJSONEncoder) print("data:", data) return HttpResponse(data) # 设备管理: class app_equipmanage(View): def post(self, request): etype = request.POST.get('etype') print("etype:", etype) if etype == "scd": etype = SCDstatus elif etype == "cbd": etype = CBDstatus elif etype == "qxz": etype = QXZstatus elif etype == "bzy": etype = BZYstatus elif etype == "xycb": etype = YBQstatus filt = request.POST.get('filter') print("filt:", filt) page = int(request.POST.get('page')) print("page:", page) # 读取当前用户: current_user = request.session.get('username') print("current_user:", current_user) current_user = MyUser.objects.get(username=current_user) data = {'nums': "", 'dat': ""} if filt == "": if current_user.is_superuser != True and current_user.is_staff != True and current_user.is_agency != True: print("---不是管理员") sta1 = etype.objects.filter( equip_id__equip_user=current_user) elif current_user.is_superuser != True and current_user.is_staff != True and current_user.is_agency == True: print("---经销商") sta1 = etype.objects.filter( equip_id__equip_agency=current_user.user_agency) else: print("---管理员") sta1 = etype.objects.all() else: if current_user.is_superuser != True and current_user.is_staff != True and current_user.is_agency != True: print("---不是管理员") sta1 = etype.objects.filter(Q(equip_id__equip_user=current_user, equip_id__equip_id__contains=filt) | Q( equip_id__equip_user=current_user, equip_id__equip_name__contains=filt)) elif current_user.is_superuser != True and current_user.is_staff != True and current_user.is_agency == True: print("---经销商") sta1 = etype.objects.filter(Q(equip_id__equip_agency=current_user.user_agency, equip_id__equip_id__contains=filt) | Q( equip_id__equip_agency=current_user.user_agency, equip_id__equip_name__contains=filt)) else: print("---管理员") sta1 = etype.objects.filter( Q(equip_id__equip_id__contains=filt) | Q(equip_id__equip_name__contains=filt)) nums = sta1.count() sta1 = sta1[(10*(page-1)):(page*10)] # if etype == "qxz": # sta2 = [{"equip_id": x.equip_id.equip_id, "upl_time": x.upl_time, # "equip_name": x.equip_id.equip_name} for x in sta1] # data['nums'] = nums # data['dat'] = sta2 # data = json.dumps(data, cls=CJSONEncoder, indent=4) # # print("data:",data) # return HttpResponse(data) if request.POST.get('etype') == "xycb": try: sta2 = [{"equip_id": x.equip_id.equip_id, "upl_time": x.upl_time, "equip_name": x.equip_id.equip_name,"equip_code":x.equip_code,"type":x.sex_type, "is_online": x.is_online, "off_time": x.off_time} for x in sta1] except: sta2 = [{"equip_id": x.equip_id.equip_id, "upl_time": x.upl_time, "equip_name": x.equip_id.equip_name,"equip_code":x.equip_code,"type":x.sex_type} for x in sta1] data['nums'] = nums data['dat'] = sta2 data = json.dumps(data, cls=CJSONEncoder, indent=4) # print("data:",data) return HttpResponse(data) try: sta2 = [{"equip_id": x.equip_id.equip_id, "upl_time": x.upl_time, "equip_name": x.equip_id.equip_name, "is_online": x.is_online, "off_time": x.off_time} for x in sta1] except: sta2 = [{"equip_id": x.equip_id.equip_id, "upl_time": x.upl_time, "equip_name": x.equip_id.equip_name} for x in sta1] data['nums'] = nums data['dat'] = sta2 data = json.dumps(data, cls=CJSONEncoder, indent=4) # print("data:",data) return HttpResponse(data) # 设备管理详情: class app_equipmanage_detail(View): def post(self, request): etype = request.POST.get('etype') print("etype:", etype) equip_id = request.POST.get('equip_id') print("equip_id:", equip_id) if etype == "scd": x = SCDstatus.objects.get(equip_id__equip_id=equip_id) sta2 = {"scd_status": x.scd_status, "ds": x.ds, "upl_time": x.upl_time, "equip_name": x.equip_id.equip_name, "is_online": x.is_online, "off_time": x.off_time} elif etype == "cbd": x = CBDstatus.objects.get(equip_id__equip_id=equip_id) sta2 = {"cbd_status": x.cbd_status, "upl_time": x.upl_time, "paramconf": x.paramconf, "equip_name": x.equip_id.equip_name, "is_online": x.is_online, "off_time": x.off_time} elif etype == "qxz": sta2 = [] try: sta = QXZstatus.objects.get(equip_id=equip_id) for i in range(len((eval(sta.qxz_status)["data"]))): sta2.append({"unit": qxz_dict[eval(sta.qxz_status)['data'][i]["eNum"]],"equip_name": sta.equip_id.equip_name, "upl_time": sta.upl_time, "equip_id": sta.equip_id_id, "eValue": eval(sta.qxz_status)["data"][i]["eValue"], "eKey": eval(sta.qxz_status)["data"][i]["eKey"]}) except Exception as exc: print(exc) elif etype == "bzy": x = BZYstatus.objects.get(equip_id__equip_id=equip_id) # sta2 = {"bzy_status": x.bzy_status, "upl_time": x.upl_time, # "equip_name": x.equip_id.equip_name,"is_online": x.is_online, "off_time": x.off_time} sta2 = {"bzy_status": x.bzy_status, "upl_time": x.upl_time, "equip_name": x.equip_id.equip_name, "glass": x.glass, "liquid":x.liquid, "is_online": x.is_online, "off_time": x.off_time} elif etype == "xycb": x = YBQstatus.objects.get(equip_id__equip_id=equip_id) sta2 = {"ybq_status": x.ybq_status, "upl_time": x.upl_time, "equip_name": x.equip_id.equip_name,"type":x.sex_type, "is_online": x.is_online,"off_time": x.off_time} data = json.dumps(sta2, cls=CJSONEncoder, indent=4) # print("data:",data) return HttpResponse(data) # 报表管理: class app_reportmanage(View): def post(self, request): etype = request.POST.get('etype') print("etype:", etype) filt = request.POST.get('filter') print("filt:", filt) page = int(request.POST.get('page')) print("page:", page) # 读取当前用户: current_user = request.session.get('username') print("current_user:", current_user) current_user = MyUser.objects.get(username=current_user) data = {'nums': "", 'dat': ""} if filt == "": if current_user.is_superuser != True and current_user.is_staff != True and current_user.is_agency != True: print("---不是管理员") if etype == "scd": equip_list = Equip.objects.filter( equip_type=2, equip_user=current_user).values() elif etype == "cbd": equip_list = Equip.objects.filter( equip_type=3, equip_user=current_user).values() elif etype == "qxz": equip_list = Equip.objects.filter( equip_type=5, equip_user=current_user).values() elif etype == "bzy": equip_list = Equip.objects.filter( equip_type=7, equip_user=current_user).values() elif current_user.is_superuser != True and current_user.is_staff != True and current_user.is_agency == True: print("---经销商") if etype == "scd": equip_list = Equip.objects.filter( equip_type=2, equip_agency=current_user.user_agency).values() elif etype == "cbd": equip_list = Equip.objects.filter( equip_type=3, equip_agency=current_user.user_agency).values() elif etype == "qxz": equip_list = Equip.objects.filter( equip_type=5, equip_agency=current_user.user_agency).values() elif etype == "bzy": equip_list = Equip.objects.filter( equip_type=7, equip_agency=current_user.user_agency).values() else: print("---管理员") if etype == "scd": equip_list = Equip.objects.filter(equip_type=2).values() elif etype == "cbd": equip_list = Equip.objects.filter(equip_type=3).values() elif etype == "qxz": equip_list = Equip.objects.filter(equip_type=5).values() elif etype == "bzy": equip_list = Equip.objects.filter(equip_type=7).values() else: if current_user.is_superuser != True and current_user.is_staff != True and current_user.is_agency != True: print("---不是管理员") if etype == "scd": equip_list = Equip.objects.filter(Q(equip_type=2, equip_user=current_user, equip_id__contains=filt) | Q( equip_type=2, equip_user=current_user, equip_name__contains=filt)).values() elif etype == "cbd": equip_list = Equip.objects.filter(Q(equip_type=3, equip_user=current_user, equip_id__contains=filt) | Q( equip_type=3, equip_user=current_user, equip_name__contains=filt)).values() elif etype == "qxz": equip_list = Equip.objects.filter(Q(equip_type=5, equip_user=current_user, equip_id__contains=filt) | Q( equip_type=5, equip_user=current_user, equip_name__contains=filt)).values() elif etype == "bzy": equip_list = Equip.objects.filter(Q(equip_type=7, equip_user=current_user, equip_id__contains=filt) | Q( equip_type=7, equip_user=current_user, equip_name__contains=filt)).values() elif current_user.is_superuser != True and current_user.is_staff != True and current_user.is_agency == True: print("---经销商") if etype == "scd": equip_list = Equip.objects.filter(Q(equip_type=2, equip_agency=current_user.user_agency, equip_id__contains=filt) | Q( equip_type=2, equip_agency=current_user.user_agency, equip_name__contains=filt)).values() elif etype == "cbd": equip_list = Equip.objects.filter(Q(equip_type=3, equip_agency=current_user.user_agency, equip_id__contains=filt) | Q( equip_type=3, equip_agency=current_user.user_agency, equip_name__contains=filt)).values() elif etype == "qxz": equip_list = Equip.objects.filter(Q(equip_type=5, equip_agency=current_user.user_agency, equip_id__contains=filt) | Q( equip_type=5, equip_agency=current_user.user_agency, equip_name__contains=filt)).values() elif etype == "bzy": equip_list = Equip.objects.filter(Q(equip_type=7, equip_agency=current_user.user_agency, equip_id__contains=filt) | Q( equip_type=7, equip_agency=current_user.user_agency, equip_name__contains=filt)).values() else: print("---管理员") if etype == "scd": equip_list = Equip.objects.filter(Q(equip_type=2, equip_id__contains=filt) | Q( equip_type=2, equip_name__contains=filt)).values() elif etype == "cbd": equip_list = Equip.objects.filter(Q(equip_type=3, equip_id__contains=filt) | Q( equip_type=3, equip_name__contains=filt)).values() elif etype == "qxz": equip_list = Equip.objects.filter(Q(equip_type=5, equip_id__contains=filt) | Q( equip_type=5, equip_name__contains=filt)).values() elif etype == "bzy": equip_list = Equip.objects.filter(Q(equip_type=7, equip_id__contains=filt) | Q( equip_type=7, equip_name__contains=filt)).values() dat = [] for i in equip_list: # if etype == "scd": # sta1 = RecentSCDdata.objects.filter( # equip_id=i.equip_id) # # 关键步骤:从测报灯数据列表模型中,筛选出当前用户所拥有的设备的设备id的数据记录,然后进行倒叙排列,最后切片操作,只取第一条数据,即为最新 # elif etype == "cbd": # sta1 = CBDdata.objects.filter( # equip_id=i.equip_id).order_by('-upl_time')[:1] # elif etype == "qxz": # sta1 = QXZstatus.objects.filter( # equip_id=i.equip_id) # elif etype == "bzy": # sta1 = BZYstatus.objects.filter( # equip_id=i.equip_id) # for x in sta1: # sta2 = {"equip_id": x.equip_id.equip_id, "upl_time": x.upl_time, # "equip_name": x.equip_id.equip_name} sta2 = {"equip_id": i["equip_id"],"equip_name": i["equip_name"]} dat.append(sta2) nums = len(dat) data['nums'] = nums data['dat'] = dat[(10*(page-1)):(page*10)] data = json.dumps(data, cls=CJSONEncoder, indent=4) # print("data:",data) return HttpResponse(data) # 单个设备的报表展开: class app_reportmanage_unflod(View): def post(self, request): etype = request.POST.get('etype') print("etype:", etype) equip_id = request.POST.get('equip_id') print("equip_id:", equip_id) if etype == "scd": sta1 = SCDdata.objects.filter( equip_id__equip_id=equip_id).order_by("-upl_time")[:1] for x in sta1: sta2 = {"equip_name": x.equip_id.equip_name, "scd_data": x.scd_data, "ds": x.ds, "upl_time": x.upl_time} elif etype == "cbd": sta1 = RecentCBDdata.objects.filter( equip_id__equip_id=equip_id) for x in sta1: sta2 = {"equip_name": x.equip_id.equip_name,"discern":x.disc, "cbd_data": x.cbd_data, "upl_time": x.upl_time} elif etype == "qxz": sta1 = QXZstatus.objects.filter( equip_id__equip_id=equip_id) for x in sta1: sta2 = {"equip_name": x.equip_id.equip_name, "qxz_data": x.qxz_status, "upl_time": x.upl_time} elif etype == "bzy": sta1 = BZYstatus.objects.filter( equip_id__equip_id=equip_id) for x in sta1: sta2 = {"equip_name": x.equip_id.equip_name, "bzy_data": x.bzy_status, "upl_time": x.upl_time} data = json.dumps(sta2, cls=CJSONEncoder, indent=4) # print("data:",data) return HttpResponse(data) # 单个设备的详情报表: class app_reportmanage_detail(View): def post(self, request): filter_begin = request.POST.get('filter_begin') print("filter_begin:", filter_begin) filter_end = request.POST.get('filter_end') print("filter_end:", filter_end) equip_id = request.POST.get('equip_id') print("equip_id:", equip_id) page = int(request.POST.get('page')) print("page:", page) etype = request.POST.get('etype') print("etype:", etype) if filter_begin == "": if etype == "scd": sta1 = SCDdata.objects.filter(equip_id=equip_id).values() elif etype == "cbd": sta1 = CBDdata.objects.filter(equip_id=equip_id) elif etype == "qxz": sta1 = QXZdata.objects.filter(equip_id=equip_id) elif etype == "bzy": sta1 = BZYdata.objects.filter(equip_id=equip_id) elif etype == "xycb": sta1 = YBQdata.objects.filter(equip_id=equip_id) else: begindate = re.findall(r"\d+\.?\d*", filter_begin) enddate = re.findall(r"\d+\.?\d*", filter_end) start_date = datetime.date( int(begindate[0]), int(begindate[1]), int(begindate[2])) end_date = datetime.date( int(enddate[0]), int(enddate[1]), int(enddate[2])) if etype == "scd": sta1 = SCDdata.objects.filter( equip_id=equip_id, upl_time__range=(start_date, end_date)).values() elif etype == "cbd": sta1 = CBDdata.objects.filter( equip_id=equip_id, upl_time__range=(start_date, end_date)) elif etype == "qxz": sta1 = QXZdata.objects.filter( equip_id=equip_id, upl_time__range=(start_date, end_date)) elif etype == "bzy": sta1 = BZYdata.objects.filter( equip_id=equip_id, upl_time__range=(start_date, end_date)) elif etype == "xycb": sta1 = YBQdata.objects.filter( equip_id=equip_id, upl_time__range=(start_date, end_date)) if etype == "scd": sta2 = [{# "equip_name": x.equip_id.equip_name, "scd_data": x["scd_data"], "ds": x["ds"], "upl_time": x["upl_time"]}for x in sta1] elif etype == "cbd": sta2 = [{"equip_name": x.equip_id.equip_name, "cbd_data": x.cbd_data, "upl_time": x.upl_time}for x in sta1] elif etype == "qxz": sta2 = [{"equip_name": x.equip_id.equip_name, "qxz_data": x.qxz_data, "upl_time": x.upl_time}for x in sta1] elif etype == "bzy": sta2 = [{"equip_name": x.equip_id.equip_name, "bzy_data": x.bzy_data, "upl_time": x.upl_time}for x in sta1] elif etype == "xycb": sta2 = [{"equip_name": x.equip_id.equip_name, "ybq_data": x.ybq_data, "upl_time": x.upl_time}for x in sta1] data = {'nums': "", 'dat': ""} nums = len(sta2) data['nums'] = nums data['dat'] = sta2[(10*(page-1)):(page*10)] data = json.dumps(data, cls=CJSONEncoder, indent=4) # print("data:",data) return HttpResponse(data) # : class app_cbd_img(View): def post(self, request): imei = request.POST.get('equip_id') print("imei:", imei) # 获得当前页: page = int(request.POST.get('page')) print("page:", page) # 从数据库中取出照片在服务器存放路径: img = CBDphoto.objects.filter(equip_id=imei) nums = img.count() img = img[(10*(page-1)):(page*10)] equip_name = Equip.objects.get(equip_id=imei).equip_name disc = RecentCBDdata.objects.get(equip_id=imei) # 当前用户:返回用户,前端判断是否显示删除图片按钮 current_user = request.session.get('username') print("current_user:", current_user) img_dat = [{"upl_time": x.upl_time, "addr": x.addr}for x in img] dat = {'img':img_dat, 'nums':nums, 'equip_name':equip_name, 'disc':disc.disc, 'equip_id':imei } data = json.dumps(dat, cls=CJSONEncoder, indent=4) print("data:",data) return HttpResponse(data) # : class app_ybq_img(View): def post(self, request): imei = request.POST.get('equip_id') print("imei:", imei) # 获得当前页: page = int(request.POST.get('page')) print("page:", page) # 从数据库中取出照片在服务器存放路径: img = YBQphoto.objects.filter(equip_id=imei) nums = img.count() img = img[(10*(page-1)):(page*10)] equip_name = Equip.objects.get(equip_id=imei).equip_name # 当前用户:返回用户,前端判断是否显示删除图片按钮 current_user = request.session.get('username') print("current_user:", current_user) img_dat = [{"upl_time": x.upl_time, "addr": x.addr}for x in img] dat = {'img':img_dat, 'nums':nums, 'equip_name':equip_name, 'equip_id':imei } data = json.dumps(dat, cls=CJSONEncoder, indent=4) print("data:",data) return HttpResponse(data) # 孢子仪图片接口 class app_bzy_img(View): def post(self, request): imei = request.POST.get('equip_id') print("imei:", imei) # 获得当前页: page = int(request.POST.get('page')) print("page:", page) # 从数据库中取出照片在服务器存放路径: img = BZYphoto.objects.filter(equip_id=imei) nums = img.count() img = img[(5*(page-1)):(page*5)] equip_name = Equip.objects.get(equip_id=imei).equip_name # 当前用户:返回用户,前端判断是否显示删除图片按钮 current_user = request.session.get('username') print("current_user:", current_user) img_dat = [{"upl_time": x.upl_time, "addr": x.addr}for x in img] dat = {'img':img_dat, 'nums':nums, 'equip_name':equip_name, 'equip_id':imei } data = json.dumps(dat, cls=CJSONEncoder, indent=4) print("data:",data) return HttpResponse(data) # 用户页面 class app_usermanage_list(View): def post(self,request): current_user = request.session.get('username') current_user = MyUser.objects.get(username=current_user) nums = MyUser.objects.all().count() print("筛选") user_name = request.POST.get("username") page = int(request.POST.get('page')) print("user_name:",user_name) print("page:", page) if current_user.is_superuser != True and current_user.is_staff != True and current_user.is_agency != True: pass elif current_user.is_superuser != True and current_user.is_staff != True and current_user.is_agency == True: print("----代理商") # 搜索条件为空,获取所有用户 if user_name == '': user_list = MyUser.objects.filter(user_agency=current_user.user_agency) # 搜索条件存在,根据用户名搜索用户 elif user_name != '': user_list = MyUser.objects.filter(user_agency=current_user.user_agency,username__contains=user_name) else: print("----管理员") # 搜索条件为空,获取所有用户 if user_name == '': user_list = MyUser.objects.all() # 搜索条件存在,根据用户名搜索用户 elif user_name != '': user_list = MyUser.objects.filter(username__contains=user_name) dat = [] for i in user_list[(10*(page-1)):(page*10)]: sta1 = MyUser.objects.filter(username=i.username) try: for x in sta1: if x.is_superuser == 1 and x.is_staff == 1: role = "超级管理员" elif x.is_superuser == 0 and x.is_staff == 1: role = "管理员" elif x.is_superuser == 0 and x.is_staff == 0: role = "用户" sta2 = {"userId": x.id, "user_name": x.username, "user_email": x.email, "user_type": role} except AttributeError: for x in sta1: if x.is_superuser == 1 and x.is_staff == 1: role = "超级管理员" elif x.is_superuser == 0 and x.is_staff == 1: role = "管理员" elif x.is_superuser == 0 and x.is_staff == 0: role = "用户" sta2 = {"userId": x.id, "user_name": x.username, "user_email": x.email, "user_type": role} dat.append(sta2) data = {"nums":nums,"dat":dat} data = json.dumps(data, cls=CJSONEncoder) # print("++++++++++++++++++",data) return HttpResponse(data) # 用户详情页面 class app_usermanage_detail(View): def post(self,request): current_user = request.user.username userId = request.POST.get("userId") x = MyUser.objects.get(id=userId) groups = User_Group.objects.all() group_list = [] for i in groups: group_list.append(i.name) group = Group.objects.filter(user=x) print("dskfsadfjkd",type(group)) if group.count() == 0: group_name = "" else: group_name = group[0].name try: if x.is_superuser == 1 and x.is_staff == 1: # 超级管理员 role = 0 elif x.is_superuser == 0 and x.is_staff == 1: # 管理员 role = 1 elif x.is_superuser == 0 and x.is_staff == 0: # 普通用户 role = 2 dat = {"userId":x.id, "username":x.username, "email":x.email, "tel":x.user_phone, "province":x.user_pro, # 省 "city":x.user_city, # 市 "area":x.user_area, # 县/区 "usertype":role, "latestTime":x.last_login, "creatTime":x.date_joined, "user_groups":group_list, "user_group":group_name, "user_remark":x.user_remark, "active":x.is_active} except AttributeError: if x.is_superuser == 1 and x.is_staff == 1: role = 0 elif x.is_superuser == 0 and x.is_staff == 1: role = 1 elif x.is_superuser == 0 and x.is_staff == 0: role = 2 dat = {"userId":x.id, "username":x.username, "email":x.email, "tel":x.user_phone, "province":x.user_pro, "city":x.user_city, "area":x.user_area, "usertype":role, "latestTime":x.last_login, "creatTime":x.date_joined, "user_groups":group_list, "user_group":group_name, "user_remark":x.user_remark, "active":x.is_active} data = json.dumps(dat,cls=CJSONEncoder) print("data:",data) return HttpResponse(data) # 用户编辑页面 class app_usermanage_edit(View): def post(self,request): # current_user = request.user.username postname = request.POST.get('username') uname = MyUser.objects.get(username=postname) uname.user_phone = request.POST.get('userphone') post_type = request.POST.get('user_type') # 角色:即用户组; post_groups = request.POST.get('user_groups') print("post_groups:", post_groups) if post_groups != '0': # 获取当前用户的组: post_groups = User_Group.objects.get(id=post_groups) print("post_groups:", post_groups) groups = Group.objects.filter(user=uname) uname.groups.clear() uname.groups.add(post_groups) # 省市区: uname.user_pro = request.POST.get('province') print(request.POST.get('province')) uname.user_city = request.POST.get('city') print(request.POST.get('city')) uname.user_area = request.POST.get('area') print(request.POST.get('area')) uname.user_remark = request.POST.get('user_remarks') print("post_type", post_type) if post_type == '0': uname.is_superuser = True uname.is_staff = True print("post_type") elif post_type == '1': uname.is_superuser = False uname.is_staff = True print("post_type") elif post_type == '2': uname.is_superuser = False uname.is_staff = False print("post_type") try: uname.save() except Exception as e: print("数据保存失败:",e) data = "1" return HttpResponse(data) # User_Log.objects.create(log_user=request.user.username, # log_ip=request.META['REMOTE_ADDR'], log_desc='系统管理-用户管理--编辑用户:修改用户'+username+"的信息") data = "0" return HttpResponse(data) # 用户组列表管理 class app_user_group(View): def post(self,request): f_name = request.POST.get('fName') page = int(request.POST.get('page')) # 如果搜索名存在 if f_name: sta = User_Group.objects.filter(name__contains=f_name)[(10*(page-1)):(page*10)] nums = len(User_Group.objects.filter(name__contains=f_name)) else: sta = User_Group.objects.all()[(10*(page-1)):(page*10)] nums = len(User_Group.objects.all()) dat = [] try: for x in sta: sta1 = {"group_name":x.name} dat.append(sta1) except AttributeError: for x in sta: sta1 = {"group_name":x.name} dat.append(sta1) data = {"nums":nums,"dat":dat} print("data:",data) data = json.dumps(data,cls=CJSONEncoder) return HttpResponse(data) # 用户组列表详情 class app_user_group_details(View): def post(self,request): group_name = request.POST.get('name') x = User_Group.objects.get(name=group_name) data = {"logo":"%s"%x.role_logo, "username":x.name, "userremark":x.role_describe, "creatTime":x.role_cre_time, "copyright":x.role_footer} # print("data:",data) data = json.dumps(data,cls=CJSONEncoder) return HttpResponse(data) # 用户组列表编辑 class app_user_group_edit(View): def post(self,request): current_group = request.POST.get('group') print("current_group:", current_group) group = User_Group.objects.get(name=current_group) footer = request.POST.get('footer') group_logo = request.FILES.get('upicture') if group_logo: group_logo_dir = 'home_logo/' # group_logo_dir = 'F:\\YFWLW\\yfwlw\\home_logo/' # 判断如果路径不存在,即创建路径 if os.path.exists(group_logo_dir) == False: os.makedirs(group_logo_dir) img = Image.open(group_logo) img.save(group_logo_dir + current_group+".png") new_logo = group_logo_dir + current_group+".png" # new_logo = 'home_logo/' + current_group+".png" print("组页logo路径:", new_logo) # 数据库关联设备,并在照片的表中存入路径: group.role_logo = new_logo group.role_footer = footer try: group.save() except Exception as e: print("保存失败:",e) data = "1" return HttpResponse(data) data = "0" return HttpResponse(data) # 设备分配页面 class app_equip_allot(View): def post(self,request): uname = request.POST.get('uname') page = int(request.POST.get('page')) print("page=",page) if uname: user_list = MyUser.objects.filter(username__contains=uname) else: # 接收当前用户 current_user = request.session.get('username') print("current_user:", current_user) current_user = MyUser.objects.get(username=current_user) # 判断是经销商还是超级管理员 if current_user.is_superuser == True or current_user.is_staff == True: user_list = MyUser.objects.all().order_by( "-date_joined")[(10*(page-1)):(page*10)] elif current_user.is_agency: user_list = MyUser.objects.filter(user_agency=current_user.user_agency).order_by( "-date_joined")[(10*(page-1)):(page*10)] # user_list = MyUser.objects.all() nums = user_list.count() user_list = user_list[(10*(page-1)):(page*10)] dat = [] for x in user_list: try: sta = {"userid":x.id,"username":x.username,"email":x.email} except AttributeError: sta = {"userid":x.id,"username":x.username,"email":x.email} dat.append(sta) data = {'nums':nums,'dat':dat} data = json.dumps(data, cls=CJSONEncoder) User_Log.objects.create(log_user=request.user.username, log_ip=request.META['REMOTE_ADDR'], log_desc='设备分配') return HttpResponse(data) # 未分配设备列表 class app_equip_allot_list(View): def post(self,request): userid = request.POST.get('userid') user_obj = MyUser.objects.get(id=userid) f_id = request.POST.get('f_id') page = int(request.POST.get('page')) print("page=",page) if f_id: equip_list = Equip.objects.filter( Q(equip_user=None, equip_id__contains=f_id) | Q(equip_user=user_obj, equip_id__contains=f_id)) else: # 接收当前用户 current_user = request.session.get('username') print("current_user:", current_user) current_user = MyUser.objects.get(username=current_user) # 判断是经销商还是超级管理员 if current_user.is_superuser == True or current_user.is_staff == True: equip_list = Equip.objects.filter( Q(equip_user=None) | Q(equip_user=user_obj)) elif current_user.is_agency: equip_list = Equip.objects.filter( Q(equip_agency=current_user.user_agency, equip_user=None) | Q(equip_agency=current_user.user_agency, equip_user=user_obj)) # equip_list = Equip.objects.filter( # Q(equip_user=None) | Q(equip_user=user_obj)) nums = equip_list.count() equip_list = equip_list[(10*(page-1)):(page*10)] dat = [] for x in equip_list: if x.equip_user == user_obj: checked = "1" else: checked = "0" try: sta = {"checked":checked, "equipid":x.equip_id, "equipname":x.equip_name, "equiptype":'%s'%x.equip_type, "equip_add_time":x.equip_add_time, "equip_user":'%s'%x.equip_user} except AttributeError: sta = {"checked":checked, "equipid":x.equip_id, "equipname":x.equip_name, "equiptype":'%s'%x.equip_type, "equip_add_time":x.equip_add_time, "equip_user":'%s'%x.equip_user} dat.append(sta) data = {'nums':nums,'dat':dat} data = json.dumps(data, cls=CJSONEncoder) return HttpResponse(data) class app_equip_allot_confirm(View): def post(self,request): userid = request.POST.get('userid') user_obj = MyUser.objects.get(id=userid) equip_ids = request.POST.get('equip_ids') print("equip_ids=", equip_ids) equip_ids = json.loads(equip_ids) # equip_ids = equip_ids.split(',') # print("当前页的所有设备id:equip_ids=", equip_ids) # 获得选中的复选框: check_box_list = request.POST.get('check_box_list') print('check_box_list:', check_box_list) check_box_list = json.loads(check_box_list) no_check_box_list = [] for i in equip_ids: if i in check_box_list: pass else: no_check_box_list.append(i) print('no_check_box_list=', no_check_box_list) try: for checked_id in check_box_list: choose_equip = Equip.objects.get(equip_id=checked_id) # 如果选中的设备没有用户:即选中的设备 设备用户为None: if choose_equip.equip_user == None: # 只有当选中的设备id对应的设备 没有用户时才分配 choose_equip.equip_user = user_obj choose_equip.save() # 保存到数据库 # 取消分配:给当前用户取消已分配的设备; for a in no_check_box_list: choose_equip = Equip.objects.get(equip_id=a) choose_equip.equip_user = None # 把设备的设备用户改为None,表示取消分配 choose_equip.save() except Exception as e: print(e) data = "1" data = "0" User_Log.objects.create(log_user=request.user.username, log_ip=request.META['REMOTE_ADDR'], log_desc='设备分配--分配设备') return HttpResponse(data) # 害虫识别接口 import requests class app_insect_discern(View): def post(self,request): imageFile = request.FILES.get('imagefile') imageFile = {"imageFile":imageFile} username = 'yunfei' uniqueKey = '84e6eb40f3a616dd14b1fefc75425006' url = 'http://47.99.110.100:8080/recognizationSys/api/recognization' data = {'imageType':'1','gis':'118.279643#31.221456','username':username,'uniqueKey':uniqueKey} res = requests.post(url,data=data,files=imageFile) return HttpResponse(res.text) # 监控设备分页接口 class app_moni_page(View): def post(self,request): current_user = request.user.username print("current_user:", current_user) current_user = MyUser.objects.get(username=current_user) page = request.POST.get('page') page = int(page) f_id = request.POST.get('f_id') print("f_id:", f_id) if current_user.is_superuser != True and current_user.is_staff != True and current_user.is_agency != True: # 用户 if f_id != "": # equip_list = Equip.objects.filter(equip_type=6, equip_user=current_user, equip_id__contains=f_id) equip_list = JKdata.objects.filter(equip_id__equip_user=current_user, equip_id__equip_id__contains=f_id) else: # equip_list = Equip.objects.filter(equip_type=6, equip_user=current_user) equip_list = JKdata.objects.filter(equip_id__equip_user=current_user) elif current_user.is_superuser != True and current_user.is_staff != True and current_user.is_agency == True: # 代理商 if f_id != "": # equip_list = Equip.objects.filter(equip_type=6, equip_agency=current_user.user_agency, equip_id__contains=f_id) equip_list = JKdata.objects.filter(equip_id__equip_agency=current_user.user_agency, equip_id__equip_id__contains=f_id) else: # equip_list = Equip.objects.filter(equip_type=6, equip_agency=current_user.user_agency) equip_list = JKdata.objects.filter(equip_id__equip_agency=current_user.user_agency) else: # 管理员 if f_id != "": # equip_list = Equip.objects.filter(equip_type=6, equip_id__contains=f_id) equip_list = JKdata.objects.filter(equip_id__equip_id__contains=f_id) else: # equip_list = Equip.objects.filter(equip_type=6) equip_list = JKdata.objects.all() e_ids = [] for x in equip_list: n_d = {"equip_name":x.equip_id.equip_name, "equip_id":x.equip_id_id,"is_online":x.is_online} e_ids.append(n_d) nums = len(e_ids) # print(nums) ids = e_ids[(10*(page-1)):(page*10)] data = {'ids': ids, 'nums': nums} data = json.dumps(data) return HttpResponse(data) # 监控设备接口 class app_moni(View): def post(self,request): e_id = request.POST.get('id') x = JKdata.objects.get(equip_id=e_id) live_list = [] live_url = 'https://open.ys7.com/api/lapp/live/address/get' live_data = {"accessToken":x.jk_token, "source":"%s:1"%x.equip_id} print("=================live_data:",live_data) live_res = requests.post(live_url,data=live_data) # print("-------------------------------:",type(live_res.text)) live_res = eval(live_res.text) print("live_res:",live_res) # 如果返回200 则返回直播地址 if live_res['code'] == "200": print("token获取成功___APP") live_list.append(live_res) # 如果返回其他 则调用获取token之后重新获取直播地址并返回 else: print("token过期重新获取___APP") token_url = 'https://open.ys7.com/api/lapp/token/get' token_data = {"appKey":"e8ec0d52b4b14628a3daf4b88cbcca2a", "appSecret":"d4565abea1cd0b90b59917111dcb37bd"} token_res = requests.post(token_url,data=token_data) print("token_res1:",token_res.text) token_res = eval(token_res.text) if token_res["code"] == "200": token_res["data"]["accessToken"] x.jk_token = token_res["data"]["accessToken"] x.upl_time = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())) x.save() token = x.jk_token print("-----------------token保存成功___APP") live_url = 'https://open.ys7.com/api/lapp/live/address/get' live_data = {"accessToken":x.jk_token, "source":"%s:1"%x.equip_id} live_res = requests.post(live_url,data=live_data) live_res = eval(live_res.text) print("live_res2:",live_res) live_list.append(live_res) print("APP直播地址列表:",live_list) data = live_list print("-----------============data:",data) data = json.dumps(data, cls=CJSONEncoder) return HttpResponse(data) class app_download(View): def get(self,request): return render(request, 'home/download.html') # return redirect('app_download/yfApp.apk') class app_download2(View): def get(self,request): return render(request, 'home/commonDownload.html') # return redirect('app_download/yfApp.apk') class user_etype(View): def get(self,request): pass def post(self,request): current_user = request.session.get('username') current_user = MyUser.objects.get(username=current_user) equip_type_list = [] if current_user.is_superuser != True and current_user.is_staff != True and current_user.is_agency != True: print("普通用户") user_equip_list = Equip.objects.filter(equip_user=current_user) for i in user_equip_list: equip_type_list.append(i.equip_type.type_id) elif current_user.is_superuser != True and current_user.is_staff != True and current_user.is_agency == True: print("代理商") user_equip_list = Equip.objects.filter(equip_agency=current_user.user_agency) for i in user_equip_list: equip_type_list.append(i.equip_type.type_id) else: print("管理员") user_equip_list = Equip.objects.all() for i in user_equip_list: equip_type_list.append(i.equip_type.type_id) # 去除列表中重复的元素 # equip_type_list = {}.fromkeys(equip_type_list).keys() equip_type_list = list(set(equip_type_list)) print(equip_type_list) print(type(equip_type_list)) data = {'dat':equip_type_list} data = json.dumps(data) return HttpResponse(data) # 版本号判断 class edition(View): def get(self,request): pass def post(self,request): edition_obj = App_Edition.objects.all() edition = edition_obj.first() print(edition.edition_num) print(edition.edition_desc) data = {"edition_num":edition.edition_num,"edition_desc":edition.edition_desc,"upl_time":edition.upl_time} data = json.dumps(data, cls=CJSONEncoder) return HttpResponse(data) # 版本更新历史 class edition_all(View): def get(self,request): pass def post(self,request): edition_list = App_Edition.objects.all() data = [] for i in edition_list: data.append({"edition_num":i.edition_num,"edition_desc":i.edition_desc,"upl_time":i.upl_time}) data = json.dumps(data, cls=CJSONEncoder) return HttpResponse(data) # APP轮播图 class Display_Photo(ListView): def get(self,request): pass def post(self,request): current_user = request.session.get('username') current_user = MyUser.objects.get(username=current_user) img_list = APP_Img.objects.filter(user=current_user) if img_list.count() == 0: data = [{"imgUrl":"app_file/app_img/banner1.jpg", "path":""}, {"imgUrl":"app_file/app_img/banner2.jpg", "path":""}, {"imgUrl":"app_file/app_img/banner4.jpg", "path":""}, {"imgUrl":"app_file/app_img/autoDiscern.jpg", "path":"autoDiscern.html"}] else: data = [] for i in img_list: data.append({"imgUrl":i.img, "path":""}) data = json.dumps(data) return HttpResponse(data) # 中性APP轮播图 class Display_Photo_Common(ListView): def get(self,request): pass def post(self,request): current_user = request.session.get('username') current_user = MyUser.objects.get(username=current_user) img_list = APP_Img.objects.filter(user=current_user) if img_list.count() == 0: data = [{"imgUrl":"app_file/app_img/banner1.jpg", "path":""}, {"imgUrl":"app_file/app_img/banner2.jpg", "path":""}, {"imgUrl":"app_file/app_img/banner4.jpg", "path":""}, {"imgUrl":"app_file/app_img/autoDiscern.jpg", "path":"autoDiscern.html"}] else: data = [] for i in img_list: data.append({"imgUrl":i.img, "path":""}) data = json.dumps(data) return HttpResponse(data) # SIM卡列表: class APP_SimInfo(ListView): def get(self, request): pass def post(self, request): req = request.POST.get('req') print("req:", req) simid = request.POST.get('simid') if simid: res = get_siminfo(simid) return HttpResponse(res.text) if req == "reqdat": page = int(request.POST.get('page')) print("page:", page) current_user = request.session.get('username') print("current_user:", current_user) current_user = MyUser.objects.get(username=current_user) if current_user.is_superuser != True and current_user.is_staff != True and current_user.is_agency != True: sta1 = SCDstatus.objects.filter(equip_id__equip_user=current_user) sta2 = CBDstatus.objects.filter(equip_id__equip_user=current_user) elif current_user.is_superuser != True and current_user.is_staff != True and current_user.is_agency == True: sta1 = SCDstatus.objects.filter(equip_id__equip_agency=current_user.user_agency) sta2 = CBDstatus.objects.filter(equip_id__equip_agency=current_user.user_agency) else: sta1 = SCDstatus.objects.all() sta2 = CBDstatus.objects.all() # 获取设备列表中的SIM卡的iccid号码: iccids = [] # 获取设备的id: equip_ids = [] # 获取设备的名称: equip_names = [] # 遍历查询流量信息: siminfos = [] for i in sta1: try: iccid = eval(i.scd_status)['iccid'] except: iccid = "" iccids.append(iccid) equip_ids.append(str(i.equip_id)) equip_names.append(str(i.equip_id.equip_name)) for i in sta2: try: iccid = eval(i.cbd_status)['iccid'] except: iccid = "" iccids.append(iccid) equip_ids.append(str(i.equip_id)) equip_names.append(str(i.equip_id.equip_name)) nums = len(equip_ids) iccids=iccids[(10*(page-1)):(page*10)] equip_ids=equip_ids[(10*(page-1)):(page*10)] equip_names=equip_names[(10*(page-1)):(page*10)] # 调用api查到的iccid号: equip_iccids = [] iccids_str = ",".join(iccids) print("iccids_str:",iccids_str) res = get_simsinfo(iccids_str).content print('res',res) siminfo_str=str(res, encoding = "utf-8") siminfo_dict=eval(siminfo_str) # 保存调用查询流量的api返回的数据; dat = [] for j in list(range(0,siminfo_dict['data']['count'])): equip_iccids.append(siminfo_dict['data']['card_list'][j]['iccid']) # print('equip_iccids:',equip_iccids) for j in list(range(0,len(iccids))): siminfo_dict=eval(siminfo_str) if (iccids[j] in equip_iccids) == True: dat.append(siminfo_dict['data']['card_list'][equip_iccids.index(iccids[j])]) else: dat.append({}) dat[j]['equip_id']=equip_ids[j] dat[j]['equip_name']=equip_names[j] # print("dat[%d]=%s" %(j,dat[j])) iccids[j] = ""# 每次判断完将该值清空,防止多个设备用一个SIM卡测试时显示异常; # print('----- iccids :',iccids) print("------------------------",dat) data = {"dat":dat,"nums":nums} data = json.dumps(data) print("data:",data) return HttpResponse(data) # 性诱设备查看图片 class trap_photo(ListView): def get(self,request): pass def post(self,request): imei = request.POST.get('imei') page = int(request.POST.get('page')) print("imei:", imei) trap_photo = Trapphoto.objects.filter(equip_id=imei) nums = Trapphoto.objects.filter(equip_id=imei).count() print("nums:", nums) dat = [] for i in trap_photo: dat.append({"addr":i.addr,"upl_time":i.upl_time}) dat = dat[(5*(page-1)):(page*5)] data = {"dat":dat,"nums":nums} data = json.dumps(data, cls=CJSONEncoder) return HttpResponse(data) # 性诱设备温湿度和虫子 class trap_pest(ListView): def get(self,request): pass def post(self,request): imei = request.POST.get('imei') page = int(request.POST.get('page')) print("imei:", imei) trap_data = Trapdata.objects.filter(equip_id=imei) nums = Trapdata.objects.filter(equip_id=imei).count() print("nums:", nums) dat = [] for i in trap_data: dat.append({"pestnum":i.pestnum,"at":i.tem,"ah":i.hum,"upl_time":i.upl_time}) dat = dat[(10*(page-1)):(page*10)] data = {"dat":dat,"nums":nums} data = json.dumps(data, cls=CJSONEncoder) return HttpResponse(data) # 产品介绍 class product_view(ListView): def get(self,request): pass def post(self,request): current_user = request.session.get('username') print("current_user:", current_user) current_user = MyUser.objects.get(username=current_user) equip_list = Equip.objects.filter(equip_user=current_user) data = [] for i in equip_list: if i.equip_type_id in data: continue data.append(i.equip_type_id) if current_user.is_superuser: data = [] type_list = Equip_type.objects.all() for x in type_list: data.append(x.type_id) elif current_user.is_agency: data = [] equip_list = Equip.objects.filter(equip_agency=current_user.user_agency) for i in equip_list: if i.equip_type_id in data: continue data.append(i.equip_type_id) data = json.dumps(data) return HttpResponse(data) # 监控设备查看图片 class app_jk_img(View): def post(self, request): imei = request.POST.get('equip_id') print("imei:", imei) # 获得当前页: page = int(request.POST.get('page')) print("page:", page) # 从数据库中取出照片在服务器存放路径: img = JKphoto.objects.filter(equip_id=imei) nums = img.count() img = img[(10*(page-1)):(page*10)] equip_name = Equip.objects.get(equip_id=imei).equip_name # 当前用户:返回用户,前端判断是否显示删除图片按钮 current_user = request.session.get('username') print("current_user:", current_user) img_dat = [{"upl_time": x.upl_time, "addr": x.addr}for x in img] dat = {'img':img_dat, 'nums':nums, 'equip_name':equip_name, 'equip_id':imei } data = json.dumps(dat, cls=CJSONEncoder, indent=4) print("data:",data) return HttpResponse(data)