| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284 |
- import json
- import random
- import re
- from io import BytesIO
- import hashlib
- import requests
- import xlwt
- from django.contrib.auth.hashers import check_password, make_password
- # Create your views here.
- from django.http import HttpResponse, JsonResponse, StreamingHttpResponse
- from django.shortcuts import redirect, render
- from django.views.generic import ListView
- from django.views.generic.base import View
- from apps.AppInfoManage.models import *
- from apps.EquipManage.views import CJSONEncoder
- from apps.Pestapp.views import verification_code
- from django.db.models import Q
- import os
- import time
- import datetime
- from PIL import Image
- #判断当前登录用户类型
- class Judge_User(ListView):
- def get(self, request):
- name = request.session.get("username")
- # name = "admin"
- user_name = MyUser.objects.get(username=name)
- if user_name.is_superuser == True and user_name.is_staff == True and user_name.is_active == True:
- data = 1
- print("管理员")
- else:
- consumer = Purchase.objects.filter(userid=user_name)
- if consumer.exists():
- data = 2
- print("用户已购买")
- else:
- data = 3
- return HttpResponse(data)
- #筛选未购买的用户
- def post(self, request):
- page = int(request.POST.get("page"))
- ret = request.POST.get("ret")
- user_list = MyUser.objects.all()
- data = [] #未分配
- date = [] #已分配
- for i in user_list:
- buy_user = Purchase.objects.filter(userid=i.id)
- if buy_user.exists():
- date.append({
- "username":i.username,"email":i.email,"time":i.date_joined.strftime("%Y-%m-%d %H:%M:%S"),
- "phone":i.user_phone,"ret":"2"
- })
- else:
- data.append({
- "username":i.username,"email":i.email,"time":i.date_joined.strftime("%Y-%m-%d %H:%M:%S"),
- "phone":i.user_phone,"ret":"1"
- })
- if ret == "now": # 以购买用户
- num = len(date)
- dat = date[(10*(page-1)):(page*10)]
- elif ret == "off": #未购买用户
- num = len(data)
- dat = data[(10*(page-1)):(page*10)]
- elif ret == "all": # 全部用户
- dats = date + data
- num = len(dats)
- dat = dats[(10*(page-1)):(page*10)]
- data = {"dat": dat, "num": num}
- data = json.dumps(data)
- return HttpResponse(data)
-
- #分配账号页面
- class Allocation(ListView):
- def get(self, request):
- return render(request, "pestDiagnosis/insect_allocation.html", context={})
- #取消分配:
- class Cancel_Branch(ListView):
- def post(self, request):
- name = request.POST.get("name")
- ret = request.POST.get("ret")
- data = []
- names = MyUser.objects.get(username=name)
- if ret == "del": #取消分配
- p_user = Purchase.objects.filter(userid=names)
- if p_user.exists():
- Purchase.objects.get(userid__username=name).delete()
- data = 1
- else:
- data = 3
- elif ret == "screen": # 按用户名字进行筛选
- user_list = MyUser.objects.filter(username=name)
- for i in user_list:
- data.append({
- "username":i.username,"email":i.email,"time":i.date_joined.strftime("%Y-%m-%d %H:%M:%S"),
- "phone":i.user_phone
- })
- elif ret == "dist": #分配账号
- p_user = Purchase.objects.filter(userid=names)
- if p_user.exists():
- data = 2
- else:
- Purchase.objects.create(userid=names)
- data = 0
- print("分配账号")
- data = json.dumps(data)
- return HttpResponse(data)
- #查看采集数据详情和当前账号下所有测报员信息
- class Look_User(ListView):
- def get(self, request):
- return render(request, "pestDiagnosis/pestDiagnosisList.html", context={})
- def post(self, request):
- name = request.session.get("username")
- user_name = MyUser.objects.get(username=name)
- page = int(request.POST.get("page"))
- data = []
- if user_name.is_superuser == True and user_name.is_staff == True and user_name.is_active == True:
- print("管理员")
- account = User_Reporter.objects.all()
- else:
- print("普通用户")
- account = User_Reporter.objects.filter(user_id=user_name)
- num = account.count()
- for i in account:
- data.append({
- "name": i.name,
- "phone": i.phone,
- "time": i.time.strftime("%Y-%m-%d %H:%M:%S"),
- "addr": i.addr,
- "id": i.id,
- "user_id": i.user_id.username
- })
- dat = data[(10*(page-1)):(page*10)]
- data = {"dat": dat, "num": num}
- data = json.dumps(data)
- return HttpResponse(data)
- #新增数据省市县三级联动
- class Cate_Insect(ListView):
- def get(self, request):
- name = request.session.get("username")
- print("name", name)
- user_name = MyUser.objects.get(username=name)
- addr = Address_Province.objects.filter(id__lt=35)
- insect = Insect_Plant.objects.filter(ids=user_name)
- return render(request, "pestDiagnosis/newPestDiagnosis.html", context={"addr": addr, "insect": insect})
- def post(self, request):
- code = request.POST.get("code")
- if code:
- city = Address_Province.objects.filter(parent_code=code)
- citys = []
- for i in city:
- citys.append(
- {"name": i.name, "parent_code": i.parent_code, "code": i.code})
- new_s = []
- for x in citys:
- if x not in new_s:
- new_s.append(x)
- data = json.dumps(new_s)
- else:
- data = 0
- return HttpResponse(data)
- #分配子账号秘钥
- class New_Code(ListView):
- def get(self, request):
- word = verification_code().encode("utf-8")
- password = hashlib.sha1(word).hexdigest()
- pass_word = password[8:]
- data = {"dat": pass_word}
- data = json.dumps(data)
- return HttpResponse(data)
- #分配测报员账号接口
- class New_Reporter(ListView):
- def post(self, request):
- names = request.POST.get("username")
- password = request.POST.get("password")
- phone = request.POST.get("phone")
- addr = request.POST.get("addr")
- user_por = request.POST.get("user_por")
- user_city = request.POST.get("user_city")
- user_area = request.POST.get("user_area")
- code = request.POST.get("code")
- name = request.session.get("username")
- user_name = MyUser.objects.get(username=name)
- if not all([names,password,user_area,user_city,user_por,code,name,user_name]):
- data = 0
- return HttpResponse(data)
- prov = Address_Province.objects.get(code=user_por) # 省
- prov = str(prov)
- citys = Address_Province.objects.get(code=user_city) # 市
- citys = str(citys)
- areaes = Address_Province.objects.get(code=user_area) # 区
- areaes = str(areaes)
- addrs = prov + citys + areaes + addr
- reporter = User_Reporter.objects.filter(user_id=user_name)
- num = reporter.count()
- if num == 3:
- data = 2
- return HttpResponse(data)
- else:
- if reporter:
- for i in reporter:
- if i.name == names:
- data = 0
- print("该{}账号下已存在{}".format(i.name, names))
- return HttpResponse(data)
- else:
- password = make_password(password)
- User_Reporter.objects.create(
- user_id=user_name, name=names, password=password, phone=phone, addr=addrs)
- Encryption.objects.create(cipher=code)
- data = 1
- return HttpResponse(data)
- else:
- password = make_password(password)
- User_Reporter.objects.create(
- user_id=user_name, name=names, password=password, phone=phone, addr=addrs)
- Encryption.objects.create(cipher=code)
- data = 1
- return HttpResponse(data)
-
- #生成激活码主账号激活码
- class Activation_Code(ListView):
- def get(self, request):
- name = request.session.get("username")
- print("name:", name)
- uid = MyUser.objects.get(username=name)
- if uid.is_superuser == True and uid.is_staff == True and uid.is_active == True:
- print("管理员")
- word = verification_code().encode("utf-8")
- password = hashlib.sha1(word).hexdigest()
- pass_word = password[8:]
- print(pass_word)
- Encryption.objects.create(cipher=pass_word)
- data = pass_word
- else:
- print("普通用户")
- data = 0
- return HttpResponse(data)
- #查看主账号下测报员信息
- class User_Account(ListView):
- def get(self, request):
- name = request.session.get("username")
- uid = MyUser.objects.get(username=name)
- data = []
- account = User_Account.objects.filter(user_id=uid)
- for i in account:
- data.append({
- "name": i.name,
- "phone": i.phone,
- "time": i.time.strftime("%Y-%m-%d %H:%M:%S"),
- "addr": i.addr,
- "id": i.id,
- "user_id": i.user_id.username
- })
- data = json.dumps(data)
- return HttpResponse(data)
- #重置测报员密码
- def post(self, request):
- password = request.POST.get("password")
- password1 = request.POST.get("password1")
- cbyid = request.POST.get("id")
- if not all([password,password1,cbyid]):
- data = 0
- return HttpResponse(data)
- user_list = User_Reporter.objects.get(id=cbyid)
- if password == password1:
- password = make_password(password)
- user_list.password = password
- user_list.save()
- data = 1
- else:
- data = 0
- return HttpResponse(data)
- #查看主用户下所有的测报员的信息,所有的识别记录 、已录信息
- class Check_Account(ListView):
- def get(self, request):
- ret = request.GET.get("ret")
- req = request.GET.get("req")
- page = int(request.GET.get("page"))
- name = request.session.get("username")
- # name = "admin"
- print("name", name)
- user_name = MyUser.objects.get(username=name)
- if not all([ret,req,page,name,user_name]):
- data = 0
- return HttpResponse(data)
- data = []
- gly = ''
- if user_name.is_superuser == True and user_name.is_staff == True and user_name.is_active == True:
- print("管理员")
- if ret == "2":
- insects = App_Insect.objects.filter(~Q(name=None))
- elif ret == "1":
- insects = App_Plant.objects.filter(~Q(name=None))
- gly = 1
- else:
- print("普通用户")
- if ret == "2":
- insects = App_Insect.objects.filter(~Q(name=None), userid=user_name)
- elif ret == "1":
- insects = App_Plant.objects.filter(~Q(name=None), userid=user_name)
- if gly == 1: #指明是登录身份是管理员
- insect = User_Data_Table_New.objects.filter(harm_id__pest_sort=ret)
- else:
- insect = User_Data_Table_New.objects.filter(user_id__user_id=user_name,harm_id__pest_sort=ret)
- if req == "cord": # 已录信息
- for i in insect:
- data.append({"user_name":i.user_id.name,"growth_stages":i.growth_stages,"area":i.area,"pest_name":i.harm_id.pest_name,"month":i.harm_id.month_id.month,
- "pest":i.harm_id.pest,"crop_sort":i.harm_id.crop_sort,"cens_method":i.cens_method,"city":i.harm_id.month_id.addr_id.name,"id":i.id,"upl_time":i.upl_time.strftime('%Y-%m-%d %H:%M:%S')
- ,"city_id":i.harm_id.month_id.addr_id.id,"harm_id":i.harm_id.id,"pest_sort":i.harm_id.pest_sort,"username":i.user_id.user_id.username,
- })
- num = insect.count()
- elif req == "disc": #识别信息
- for x in insects:
- data.append({"username": x.userid.username, "reporter": x.reporter_id.name, "time": x.time.strftime("%Y-%m-%d %H:%M:%S"), "course": x.course,
- "name": x.name, "addr": x.addr, "id": x.id, "ret": ret, "req": req})
- num = insects.count()
- dat = data[(10*(page-1)):(page*10)]
- data = {"dat": dat, "num": num}
- data = json.dumps(data)
- return HttpResponse(data)
-
- #查看已录和识别数据详情信息
- def post(self, request):
- account_id = request.POST.get("id")
- ret = request.POST.get("ret")
- req = request.POST.get("req")
- dats = [] #病虫害照片列表
- date = [] # 病虫害值
- data = [] #数据列表
- if ret == "2":
- insect = App_Insect.objects.filter(id=account_id)
- elif ret == "1":
- insect = App_Plant.objects.filter(id=account_id)
- if req == "cord":
- user_list = User_Data_Table_New.objects.filter(id=account_id)
- for i in user_list:
- #病害级别转换成list
- pestname = eval(i.pestname)
- key = list(pestname)
- valu = list(pestname.values())
- for x in range(len(key)):
- date.append({key[x]: valu[x]})
- # da.append(i.pestname)
- #判断用户上传的图片是多张还是一张进行切割
- if i.addr_photo.find(",") != -1:
- prc_list = i.addr_photo.split(",")
- for y in prc_list:
- dats.append(y)
- else:
- dats.append(i.addr_photo)
- data.append({"user_name":i.user_id.name,"growth_stages":i.growth_stages,"addr_photo":dats,"pestname":date,"area":i.area,"pest_name":i.harm_id.pest_name,"month":i.harm_id.month_id.month,
- "pest":i.harm_id.pest,"crop_sort":i.harm_id.crop_sort,"cens_method":i.cens_method,"city":i.harm_id.month_id.addr_id.name,"id":i.id,"upl_time":i.upl_time.strftime('%Y-%m-%d %H:%M:%S')
- ,"city_id":i.harm_id.month_id.addr_id.id,"harm_id":i.harm_id.id,"pest_sort":i.harm_id.pest_sort,"username":i.user_id.user_id.username,
- })
- elif req == "disc":
- for x in insect:
- data.append({"username": x.userid.username, "reporter": x.reporter_id.name, "time": x.time.strftime("%Y-%m-%d %H:%M:%S"), "course": x.course,
- "name": x.name, "addr": x.addr, "img": x.img.name, "img_urls": x.img_urls, "prevention": x.prevention, "id": x.id, "ret": ret, "req": req,"lat": x.lat, "lng": x.lng,
- })
- data = json.dumps(data)
- return HttpResponse(data)
- #删除测报员账号
- class Del_Account(ListView):
- def post(self, request):
- cbyid = request.POST.get("id")
- if not all([cbyid]):
- data = 0
- return HttpResponse(data)
- try:
- user_list = User_Reporter.objects.get(id=cbyid).delete()
- data = 1
- except Exception as e:
- print(e)
- data = 0
- return HttpResponse(data)
- #删除指定数据 只删除数据,但是图片保留
- class Del_Mation(ListView):
- def post(self,request):
- ids = request.POST.get("id")
- ret = request.POST.get("ret")
- data = []
- try:
- if ret == "2":
- insects = App_Insect.objects.get(id=ids)
- if os.path.exists(insects.img):
- os.remove(insects.img)
- elif ret == "1":
- insects = App_Plant.objects.get(id=ids)
- if os.path.exists(insects.img):
- os.remove(insects.img)
- else:
- insects = User_Data_Table_New.objects.get(id=ids)
- if insects.addr_photo.find(",") != -1:
- pic_list = insects.addr_photo.split(",")
- for x in pic_list:
- if os.path.exists(x):
- os.remove(x)
- else:
- print(insects.addr_photo)
- if os.path.exists(insects.addr_photo):
- os.remove(insects.addr_photo)
- insects.delete()
- data = 1
- except Exception as e:
- data = 0
- print(e)
- return HttpResponse(data)
- #测报员数据页面
- class See_Account(ListView):
- def get(self, request):
- return render(request, "pestDiagnosis/dataList.html", context={})
- #测报员数据详情页面
- class See_Mation(ListView):
- def get(self, request):
- return render(request, "pestDiagnosis/details.html", context={})
-
- #查看指定测报员下的数据,
- class Look_Account(ListView):
- def post(self, request):
- ret = request.POST.get("ret")
- print("ret",ret)
- req = request.POST.get("req")
- print("req",req)
- reporter_id = request.POST.get("id")
- print(reporter_id)
- page = int(request.POST.get("page"))
- dat = []
- da = []
- data = []
- if ret == "2":
- insect = App_Insect.objects.filter(~Q(name=None),reporter_id=reporter_id)
- elif ret == "1":
- insect = App_Plant.objects.filter(~Q(name=None),reporter_id=reporter_id)
- if req == "cord": # 已录信息
- insect = User_Data_Table_New.objects.filter(harm_id__pest_sort=ret, user_id=reporter_id)
- for i in insect:
- data.append({"user_name":i.user_id.name,"growth_stages":i.growth_stages,"area":i.area,"pest_name":i.harm_id.pest_name,"month":i.harm_id.month_id.month,
- "pest":i.harm_id.pest,"crop_sort":i.harm_id.crop_sort,"cens_method":i.cens_method,"city":i.harm_id.month_id.addr_id.name,"id":i.id,"upl_time":i.upl_time.strftime('%Y-%m-%d %H:%M:%S')
- ,"city_id":i.harm_id.month_id.addr_id.id,"harm_id":i.harm_id.id,"pest_sort":i.harm_id.pest_sort,"username":i.user_id.user_id.username,
- })
- elif req == "disc": #识别记录
- for x in insect:
- data.append({"username": x.userid.username, "reporter": x.reporter_id.name, "time": x.time.strftime("%Y-%m-%d %H:%M:%S"), "course": x.course, "name": x.name,
- "addr": x.addr, "id": x.id, "ret": ret, "req": req
- })
- num = insect.count()
- dat = data[(10*(page-1)):(page*10)]
- data = {"dat": dat, "num": num}
- data = json.dumps(data)
- print("data",data)
- return HttpResponse(data)
- #按病虫害名字进行筛选和筛选某一测报员下病虫害名字数据
- class Screen_Name(ListView):
- def post(self, request):
- ret = request.POST.get("ret")
- req = request.POST.get("req")
- plant_name = request.POST.get("name")
- page = int(request.POST.get("page"))
- name = request.session.get("username")
- repor_id = request.POST.get("id")
- print("name", name)
- # name = "admin"
- user_name = MyUser.objects.get(username=name)
- print(user_name)
- data = []
- #__contains 模糊查询
- if ret == "2":
- insects = App_Insect.objects.filter(Q(name__contains=plant_name,userid=user_name) | Q(name__contains=plant_name,reporter_id=repor_id) )
- elif ret == "1":
- insects = App_Plant.objects.filter(Q(name__contains=plant_name,userid=user_name) | Q(name__contains=plant_name,reporter_id=repor_id))
- if req == "cord": #已录数据
- insects = User_Data_Table_New.objects.filter(Q(harm_id__pest_name__contains=plant_name,harm_id__pest_sort=ret,user_id__user_id__username=user_name) | Q (harm_id__pest_name__contains=plant_name,harm_id__pest_sort=ret,user_id=repor_id))
- for i in insects:
- data.append({"user_name":i.user_id.name,"growth_stages":i.growth_stages,"area":i.area,"pest_name":i.harm_id.pest_name,"month":i.harm_id.month_id.month,
- "pest":i.harm_id.pest,"crop_sort":i.harm_id.crop_sort,"cens_method":i.cens_method,"city":i.harm_id.month_id.addr_id.name,"id":i.id,"upl_time":i.upl_time.strftime('%Y-%m-%d %H:%M:%S')
- ,"city_id":i.harm_id.month_id.addr_id.id,"harm_id":i.harm_id.id,"pest_sort":i.harm_id.pest_sort,"username":i.user_id.user_id.username,
- })
- elif req == "disc": #识别信息
- for x in insects:
- data.append({"username": x.userid.username, "reporter": x.reporter_id.name, "time": x.time.strftime("%Y-%m-%d %H:%M:%S"), "course": x.course,
- "name": x.name, "addr": x.addr, "id": x.id, "ret": ret, "req": req})
- num = insects.count()
- dat = data[(10*(page-1)):(page*10)]
- data = {"dat": dat, "num": num}
- data = json.dumps(data)
- return HttpResponse(data)
- #按时间段筛选
- class Screen_Hour(ListView):
- def post(self, request):
- ret = request.POST.get("ret")
- req = request.POST.get("req")
- start_time = request.POST.get("stat_time")
- end_time = request.POST.get("end_time")
- page = int(request.POST.get("page"))
- data = []
- name = request.session.get("username")
- print("name", name)
- # name = "admin"
- user_name = MyUser.objects.get(username=name)
- if ret == "2":
- insects = App_Insect.objects.filter(~Q(name=None),userid=user_name,time__range=(start_time,end_time))
- elif ret == "1":
- insects = App_Plant.objects.filter(~Q(name=None),userid=user_name,time__range=(start_time,end_time))
- if req == "cord":
- inseects = User_Data_Table_New.objects.filter(user_id__user_id__username=user_name,upl_time__range=(start_time,end_time))
- for i in insects:
- data.append({"user_name":i.user_id.name,"growth_stages":i.growth_stages,"area":i.area,"pest_name":i.harm_id.pest_name,"month":i.harm_id.month_id.month,
- "pest":i.harm_id.pest,"crop_sort":i.harm_id.crop_sort,"cens_method":i.cens_method,"city":i.harm_id.month_id.addr_id.name,"id":i.id,"upl_time":i.upl_time.strftime('%Y-%m-%d %H:%M:%S')
- ,"city_id":i.harm_id.month_id.addr_id.id,"harm_id":i.harm_id.id,"pest_sort":i.harm_id.pest_sort,"username":i.user_id.user_id.username,
- })
- elif req == "disc":
- for x in insects:
- data.append({"username": x.userid.username, "reporter": x.reporter_id.name, "time": x.time.strftime("%Y-%m-%d %H:%M:%S"), "course": x.course,
- "name": x.name, "addr": x.addr, "id": x.id, "ret": ret, "req": req})
- num = insects.count()
- dat = data[(10*(page-1)):(page*10)]
- data = {"dat": dat, "num": num}
- data = json.dumps(data)
- return HttpResponse(data)
- # #测报员下病虫害名字筛选
- # class Screen_Pests_Name(ListView):
- # def post(self, request):
- # ret = request.POST.get("ret")
- # req = request.POST.get("req")
- # bch_name = request.POST.get("name")
- # page = int(request.POST.get("page"))
- # cby_id = request.POST.get("id")
- # data = []
- # if not all ([ret,bch_name,cby_id,req,page]):
- # data = 0
- # return HttpResponse(data)
- # #__contains 模糊查询
- # if ret == "insect":
- # types = "2"
- # genre = "虫害"
- # insects = App_Insect.objects.filter(name__contains=bch_name,reporter_id=cby_id)
- # elif ret == "plant":
- # types = "1"
- # genre = "病害"
- # insects = App_Plant.objects.filter(name__contains=bch_name,reporter_id=cby_id)
- # if req == "cord":
- # insects = User_Data_Table.objects.filter(names__contains=bch_name,statistical=types,reporter_id=cby_id)
- # for i in insects:
- # data.append({"user_id": i.user_id.username, "reporter_id": i.reporter_id.name, "time": i.time.strftime("%Y-%m-%d %H:%M:%S"),
- # "user_city": i.user_city, "insect_sort": i.insect_sort, "area": i.area, "names": i.names, "genre": genre, "statistical_method": i.statistical_method,
- # "id": i.id, "ret": ret, "req": req})
- # elif req == "disc":
- # for x in insects:
- # data.append({"username": x.userid.username, "reporter": x.reporter_id.name, "time": x.time.strftime("%Y-%m-%d %H:%M:%S"), "course": x.course,
- # "name": x.name, "addr": x.addr, "id": x.id, "ret": ret, "req": req,"genre":genre})
- # num = insects.count()
- # dat = data[(10*(page-1)):(page*10)]
- # data = {"dat": dat, "num": num}
- # data = json.dumps(data)
- # return HttpResponse(data)
- #测报员下时间段筛选
- class Screen_Extent_Time(ListView):
- def post(self, request):
- ret = request.POST.get("ret")
- req = request.POST.get("req")
- start_time = request.POST.get("stat_time")
- end_time = request.POST.get("end_time")
- page = int(request.POST.get("page"))
- reporter_id = request.POST.get("id")
- data = []
- if ret == "2":
- insects = App_Insect.objects.filter(~Q(name=None),reporter_id=reporter_id,time__range=(start_time,end_time))
- elif ret == "1":
- insects = App_Plant.objects.filter(~Q(name=None),reporter_id=reporter_id,time__range=(start_time,end_time))
- if req == "cord":
- inseects = User_Data_Table_New.objects.filter(user_id=reporter_id,upl_time__range=(start_time,end_time))
- for i in insects:
- data.append({"user_name":i.user_id.name,"growth_stages":i.growth_stages,"area":i.area,"pest_name":i.harm_id.pest_name,"month":i.harm_id.month_id.month,
- "pest":i.harm_id.pest,"crop_sort":i.harm_id.crop_sort,"cens_method":i.cens_method,"city":i.harm_id.month_id.addr_id.name,"id":i.id,"upl_time":i.upl_time.strftime('%Y-%m-%d %H:%M:%S')
- ,"city_id":i.harm_id.month_id.addr_id.id,"harm_id":i.harm_id.id,"pest_sort":i.harm_id.pest_sort,"username":i.user_id.user_id.username,
- })
- elif req == "disc":
- for x in insects:
- data.append({"username": x.userid.username, "reporter": x.reporter_id.name, "time": x.time.strftime("%Y-%m-%d %H:%M:%S"), "course": x.course,
- "name": x.name, "addr": x.addr, "id": x.id, "ret": ret, "req": req})
- num = insects.count()
- dat = data[(10*(page-1)):(page*10)]
- data = {"dat": dat, "num": num}
- data = json.dumps(data)
- return HttpResponse(data)
- # 导出excel文件指定测报员下虫害、病害、指定数据
- class Export_Excel(ListView):
- def get(self, request):
- reporter_id = request.GET.get("id")
- ret = request.GET.get("ret")
-
- name = request.session.get("username")
- print("name", name)
- # name = "admin"
- user_name = MyUser.objects.get(username=name)
- # 创建一个文件对象
- wb = xlwt.Workbook(encoding="utf8")
- # 创建一个sheet对象
- sheet = wb.add_sheet("sheet1",cell_overwrite_ok=True)
- # 设置文件头的样式,这个不是必须的可以根据自己的需求进行更改
- style_heading = xlwt.easyxf("""
- font:
- name Arial,
- colour_index white,
- bold on,
- height 0xA0;
- align:
- wrap off,
- vert center,
- horiz center;
- pattern:
- pattern solid,
- fore-colour 0x19;
- borders:
- left THIN,
- right THIN,
- top THIN,
- bottom THIN;
- """)
- # 写入文件标题
- sheet.write(0, 0, "测报员", style_heading)
- sheet.write(0, 1, "创建时间", style_heading)
- sheet.write(0, 2, "详细地址", style_heading)
- sheet.write(0, 3, "所属分类", style_heading)
- sheet.write(0, 4, "统计面积", style_heading)
- sheet.write(0, 5, "病害虫害名称", style_heading)
- sheet.write(0, 6, "病害值", style_heading)
- sheet.write(0, 7, "统计种类", style_heading)
- sheet.write(0, 8, "统计方法", style_heading)
- sheet.write(0, 9, "生育期", style_heading)
- sheet.write(0, 10, "月份", style_heading)
- data_row = 1
- date = []
- # if ret == "insect": #虫害
- # types = "2"
- # user_list = User_Data_Table.objects.filter(reporter_id=cbyid,statistical=types)
- # elif ret == "plant": # 病害
- # types = "1"
- # user_list = User_Data_Table.objects.filter(reporter_id=cbyid, statistical=types)
- if ret == "addr": #单条
- user_list = User_Data_Table_New.objects.filter(id=reporter_id)
- elif ret == "whole": #该测报员下所有已录数据
- user_list = User_Data_Table_New.objects.filter(user_id=reporter_id)
- else:
- user_list = User_Data_Table_New.objects.filter(user_id=reporter_id,harm_id__pest_sort=ret)
- # else:
- # data = 0
- # return HttpResponse(data)
- for i in user_list:
- if i.harm_id.pest_sort == "1":
- pest_sort = "病害"
- elif i.harm_id.pest_sort == "2":
- pest_sort = "虫害"
- pestname = eval(i.pestname)
- key = list(pestname)
- valu = list(pestname.values())
- for x in range(len(key)):
- date.append(key[x] + ":" + valu[x])
- # date.append(i.pestname)
- pri_time = i.upl_time.strftime("%Y-%m-%d")
- sheet.write(data_row, 0, i.user_id.name)
- sheet.write(data_row, 1, pri_time)
- sheet.write(data_row, 2, i.harm_id.month_id.addr_id.name)
- sheet.write(data_row, 3, i.harm_id.pest)
- sheet.write(data_row, 4, i.area)
- sheet.write(data_row, 5, i.harm_id.pest_name)
- sheet.write(data_row, 6, date)
- sheet.write(data_row, 7, i.harm_id.pest_sort)
- sheet.write(data_row, 8, i.cens_method)
- sheet.write(data_row, 9, i.growth_stages)
- sheet.write(data_row, 10, i.harm_id.month_id.month)
- data_row = data_row + 1
- output = BytesIO()
- wb.save(output)
- output.seek(0)
- # 后端进行保存,前端进行下载
- # 设置HTTPResponse的类型
- response = HttpResponse(content_type="application/vnd.ms-excel")
- response["Content-Disposition"] = "attachment;filename={}.xls".format(user_name)
- response.write(output.getvalue())
- return response
- #导出主账号下所有已录信息
- class Export_Mation(ListView):
- def get(self, request):
- ret = request.GET.get("ret")
- name = request.session.get("username")
- print("name", name)
- # name = "admin"
- user_name = MyUser.objects.get(username=name)
- # 创建一个文件对象
- wb = xlwt.Workbook(encoding="utf8")
- # 创建一个sheet对象
- sheet = wb.add_sheet("sheet1",cell_overwrite_ok=True)
- # 设置文件头的样式,这个不是必须的可以根据自己的需求进行更改
- style_heading = xlwt.easyxf("""
- font:
- name Arial,
- colour_index white,
- bold on,
- height 0xA0;
- align:
- wrap off,
- vert center,
- horiz center;
- pattern:
- pattern solid,
- fore-colour 0x19;
- borders:
- left THIN,
- right THIN,
- top THIN,
- bottom THIN;
- """)
- # 写入文件标题
- sheet.write(0, 0, "测报员", style_heading)
- sheet.write(0, 1, "创建时间", style_heading)
- sheet.write(0, 2, "详细地址", style_heading)
- sheet.write(0, 3, "所属分类", style_heading)
- sheet.write(0, 4, "统计面积", style_heading)
- sheet.write(0, 5, "病害虫害名称", style_heading)
- sheet.write(0, 6, "病害值", style_heading)
- sheet.write(0, 7, "统计种类", style_heading)
- sheet.write(0, 8, "统计方法", style_heading)
- sheet.write(0, 9, "生育期", style_heading)
- sheet.write(0, 10, "月份", style_heading)
- data_row = 1
- date = []
- if ret == "user": #全部
- user_list = User_Data_Table_New.objects.filter(user_id__user_id=user_name)
- else:
- user_list = User_Data_Table_New.objects.filter(user_id__user_id=user_name, harm_id__pest_sort=ret)
- for i in user_list:
- if i.harm_id.pest_sort == "1":
- pest_sort = "病害"
- elif i.harm_id.pest_sort == "2":
- pest_sort = "虫害"
- pestname = eval(i.pestname)
- key = list(pestname)
- valu = list(pestname.values())
- for x in range(len(key)):
- date.append(key[x] + ":" + valu[x])
- # date.append(i.pestname)
- pri_time = i.upl_time.strftime("%Y-%m-%d")
- sheet.write(data_row, 0, i.user_id.name)
- sheet.write(data_row, 1, pri_time)
- sheet.write(data_row, 2, i.harm_id.month_id.addr_id.name)
- sheet.write(data_row, 3, i.harm_id.pest)
- sheet.write(data_row, 4, i.area)
- sheet.write(data_row, 5, i.harm_id.pest_name)
- sheet.write(data_row, 6, date)
- sheet.write(data_row, 7, i.harm_id.pest_sort)
- sheet.write(data_row, 8, i.cens_method)
- sheet.write(data_row, 9, i.growth_stages)
- sheet.write(data_row, 10, i.harm_id.month_id.month)
- data_row = data_row + 1
- output = BytesIO()
- wb.save(output)
- output.seek(0)
- # 后端进行保存,前端进行下载
- # 设置HTTPResponse的类型
- response = HttpResponse(content_type="application/vnd.ms-excel")
- response["Content-Disposition"] = "attachment;filename={}.xls".format(user_name)
- response.write(output.getvalue())
- return response
- #扫码下载
- class App_Upder(ListView):
- def get(self, request):
- return render(request, "home/appDownload.html")
- #扫码下载(针对赵珍统计器)
- class App_Upder2(ListView):
- def get(self, request):
- return render(request, "home/appDownload2.html")
- # 赵珍天意、惠普森扫码下载
- #天意
- class App_Upder3(ListView):
- def get(self, request):
- return render(request, "home/appDownload_ty.html")
- #惠普森
- class App_Upder4(ListView):
- def get(self, request):
- return render(request, "home/appDownload_lpc.html")
- #知虫app 下载
- class App_Load(ListView):
- def get(self, request):
- return render(request, "home/appDownload_zc.html")
- #统计器中性 下载
- class App_Neutral_Load(ListView):
- def get(self, request):
- return render(request, "home/appDownload_zc.html")
- #已录信息饼状图统计页面
- class Pie_Chart(ListView):
- def get(self, request):
- return render(request,"pestDiagnosis/insectStatistics.html", context={})
- #已录信息饼状图数据展示
- class Show_Pie_Chart(ListView):
- def get(self, request):
- ret = request.GET.get("ret")
- name = request.session.get("username")
- print("name", name)
- # name = "admin"
- user_name = MyUser.objects.get(username=name)
- data = []
- date = []
- user_list = User_Data_Table_New.objects.filter(user_id__user_id=user_name,harm_id__pest_sort=ret)
- if user_list:
- for i in user_list:
- num = user_list.objects.filter(harm_id__pest_name=i.names).count()
- date.append({"name":i.names,"value":num})
- for x in date:
- if x not in data:
- data.append(x)
- data = json.dumps(data)
- return HttpResponse(data)
- #已录信息柱状图
- class Line_Chart(ListView):
- def get(self,request):
- name = request.session.get("username")
- # name = "admin"
- user_name = MyUser.objects.get(username=name)
- data = []
- user_list = User_Reporter.objects.filter(user_id=user_name)
- for i in user_list:
- plant = str(User_Data_Table_New.objects.filter(user_id=i.id,harm_id__pest_sort="1").count())
- insect = str(User_Data_Table_New.objects.filter(user_id=i.id,harm_id__pest_sort="2").count())
- data.append({"name":i.name,"cby_plant":plant,"cby_insect":insect})
- data = json.dumps(data)
- return HttpResponse(data)
- #已录信息害虫统计报表
- class Reporting(ListView):
- def get(self, request):
- name = request.session.get("username")
- user_name = MyUser.objects.get(username=name)
- data = []
- user_list = User_Reporter.objects.filter(user_id=user_name)
- for i in user_list:
- data.append({"id":i.id,"name":i.name})
- data = json.dumps(data)
- return HttpResponse(data)
- def post(self, request):
- ret = request.POST.get("ret")
- reporter_id = request.POST.get("id")
- page = int(request.POST.get("page"))
- data = []
- user_list = User_Data_Table_New.objects.filter(user_id=reporter_id,harm_id__pest_sort=ret)
- for i in user_list:
- data.append({"name":i.harm_id.pest_name,"cby_name":i.user_id.name,"time":i.upl_time.strftime("%Y-%m-%d %H:%M:%S")})
- num = user_list.count()
- dat = data[(10*(page-1)):(page*10)]
- data = {"dat": dat, "num": num}
- data = json.dumps(data)
- return HttpResponse(data)
- #数据重传
- class again_data(View):
- def post(self,request):
- username = request.POST.get("username")
- start_time = request.POST.get('start_time')
- end_time = request.POST.get('end_time')
- imei = request.POST.get("imei")
- data_url = request.POST.get("data_url")
- img_url = request.POST.get("img_url")
- ret = int(request.POST.get("ret"))
- need_result= request.POST.get("need")
- #时间切割
- begindate = re.findall(r"\d+\.?\d*", start_time)
- enddate = re.findall(r"\d+\.?\d*", end_time)
- 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 username == "admin":
- if ret == 2:
- scd_sta = SCDstatus_all.objects.filter(equip_id__equip_id=imei,upl_time__range=(start_date,end_date))
- scd_dat = SCDdata.objects.filter(equip_id__equip_id=imei,upl_time__range=(start_date,end_date))
- for i in scd_sta: #状态数据
- data = eval(i.scd_status)
- data = json.dumps(data)
- res = requests.post(data_url,data=data,timeout=(50,100))
- print(res.status_code)
- for x in scd_dat: #全部数据
- data = eval(x.scd_data)
- data = json.dumps(data)
- res = requests.post(data_url,data=data,timeout=(50,100))
- print(res.status_code)
- elif ret == 3:
- cbd_sta = CBDstatus_all.objects.filter(equip_id__equip_id=imei,upl_time__range=(start_date,end_date))
- cbd_dat = CBDdata.objects.filter(equip_id__equip_id=imei,upl_time__range=(start_date,end_date))
- requests.adapters.DEFAULT_RETRIES = 5 # 增加重连次数
- s = requests.session()
- s.keep_alive = False # 关闭多余连接
- if data_url:
- for i in cbd_sta: #状态数据
- data = eval(i.cbd_status)
- datt = {"topic": "/yfkj/cbd/pub/868956044831620", "payload":{"cmd":"status", "ext":data}}
- data = json.dumps(datt)
- time.sleep(0.1)
- res = requests.post(data_url,data=data,timeout=(50,100))
- print(res.status_code)
- for x in cbd_dat: #全部数据
- data = eval(x.cbd_data)
- datt = {"topic": "/yfkj/cbd/pub/868956044831620", "payload":{"cmd":"data", "ext":data}}
- data = json.dumps(datt)
- time.sleep(0.2)
- res = requests.post(data_url,data=data,timeout=(50,100))
- print(res.status_code)
- else:
- cbd_img_list = CBDphoto.objects.filter(equip_id__equip_id=imei,upl_time__range=(start_date,end_date))
- # equip = Equip.objects.get(equip_id=imei)
- # if equip.ftp_addr:
- # # http://120.27.222.26/cbd/pyftp/ftp_file/ykm_cbd/868575028845867/20190305/20:56:15.jpg
- # ftp_addr = equip.ftp_addr
- # pattern = r'[#]'
- # split_result = re.split(pattern, ftp_addr)
- # print("split_result:",split_result)
- # try:
- # need_result = split_result[1]
- # except:
- # print("对接设备的地址填写有误!请检查!")
- # need_result = "0"
- if need_result == "1": #带识别
- for i in cbd_img_list:
- # print("1111111111111111111",i.indentify_photo)
- img_addr_1 = "http://www.yfzhwlw.com/" + i.addr
- if i.indentify_photo:
- indentify_photo_1 = "http://www.yfzhwlw.com/" + i.indentify_photo
- else:
- indentify_photo_1 = 0
- if i.indentify_result:
- indentify_result = i.indentify_result
- else:
- indentify_result = 0
- data = {
- "Image":img_addr_1,
- "Result_image":indentify_photo_1,
- "Result":indentify_result,
- "imei":imei
- }
- data = json.dumps(data, cls=CJSONEncoder)
- print("data:",data)
- time.sleep(0.1)
- res_1 = requests.post(img_url,data=data,timeout=(50,100))
- print("res_1:",res_1)
- print("------------------识别结果发送成功!!!")
- else: #不带识别
- for i in cbd_img_list:
- img_addr_1 = "http://www.yfzhwlw.com/" + i.addr
- print("img_addr_1:",img_addr_1)
- data = {
- "Image":img_addr_1,
- "imei":imei
- }
- data = json.dumps(data, cls=CJSONEncoder)
- print("data:",data)
- time.sleep(0.1)
- res_1 = requests.post(img_url,data=data,timeout=(50,100))
- print("res_1:",res_1.text)
- elif ret == 7:
- bzy_dat = BZYdata.objects.filter(equip_id__equip_id=imei,upl_time__range=(start_date,end_date))
- if data_url:
- for x in bzy_dat: #全部数据
- data = eval(x.bzy_data)
- data = json.dumps(data)
- headers = {"Content-Type": "application/json; charset=UTF-8", 'Connection': 'close'}
- res = requests.post(data_url,data=data,timeout=3,headers=headers)
- print(res.status_code)
- else:
- bzy_img_list = BZYphoto.objects.filter(equip_id__equip_id=imei,upl_time__range=(start_date,end_date))
- for i in bzy_img_list:
- img_addr_1 = "http://www.yfzhwlw.com/bzy/" + i.addr
- data = {
- "Image":img_addr_1,
- "imei":imei
- }
- data = json.dumps(data, cls=CJSONEncoder)
- print("data:",data)
- res_1 = requests.post(img_url,data=data,timeout=2)
- print("res_1:",res_1.text)
- elif ret == 5:
- qxz_list = QXZdata_New.objects.filter(equip_id__equip_id=imei,upl_time__range=(start_date,end_date))
- for i in qxz_list:
- data = [i.e1,qxz_list.e2,i.e3,i.e4,i.e5,i.e6,i.e7,i.e8,i.e9,i.e10,i.e11,i.e12,i.e13,i.e14,
- i.e15,i.e16,i.e17,i.e18,
- i.e19,i.e20,i.e21,i.e22,
- i.e23,i.e24,i.e25,i.e26,
- i.e27,i.e28,i.e29,i.e30]
- test = [i for i in data if i != '']
- return HttpResponse("0")
- import random
-
- #韩英磊曹县测报灯图片上传
- class down_img(View):
- def post(self,request):
- imgs = request.FILES.get("img")
- print(imgs)
- imei = request.POST.get("imei")
- harm_photo_dir = "cbd_img/"+imei+"/2020/06/"
- if os.path.exists(harm_photo_dir) == False:
- os.makedirs(harm_photo_dir)
- img = Image.open(imgs)
- end_name = imgs.name.split('.')[-1]
- now_time = time.strftime(
- '%Y%m%d%H%M%S', time.localtime(time.time()))
- pic_name = now_time + '.' + end_name
- print("pic_name:", pic_name)
- img.save(harm_photo_dir + pic_name)
- harm_photos = harm_photo_dir + pic_name
-
- ah = random.randint(100,700)
- at = random.randint(100,400)
- try:
- equip_id = Equip.objects.get(equip_id=imei)
- CBDphoto.objects.create(equip_id=equip_id,addr=harm_photos,at=at,ah=ah)
- data = {"code":200,"img_path":harm_photos}
- except Exception as e:
- data = {"code":400,"img_path":harm_photos}
- print(e)
- data = json.dumps(data)
- return HttpResponse(data)
- # import qrcode
- # # from apps.SystemManage.forms import AddUserForm
- # # '''
- # # qrcode.make(str):str为二维码包含的文字信息,也可以是网页链接,返回二维码对象
- # # qrcode.save(str):将二维码以str为名保存到本地目录(注意文件的扩展名)
- # # qrcode.show():运行时展示二维码图案
- # # '''
- # # #创建包含信息的二维码对象
- # # img = qrcode.make("http://baidu.com?id=1")
- # # #二维码保存
- # # img.save('hello.png')
- # # #展示二维码
- # # img.show()
- # #生成二维码,请求登录接口
- # class qr_code(View):
- # def get(self,request):
- # img = qrcode.make("http://192.168.1.4:8000/test_log?username=admin&password=yf654321")
- # path = "qr_code/"
- # qr_name = "123.jpg"
- # if os.path.exists(path) == False:
- # os.makedirs(path)
- # print()
- # img.save(path + qr_name)
- # data = {"qr_code":path+qr_name}
- # data = json.dumps(data)
- # return HttpResponse(data)
- # #登录接口
- # class test_log(View):
- # def get(self,request):
- # user_name = request.GET.get("username")
- # pass_word = request.GET.get("password")
- # print("user_name",user_name)
- # print("pass_word",pass_word)
- # HTTP_HOST=request.META['HTTP_HOST']
- # print('HTTP_HOST:',HTTP_HOST)
- # dat = 0
- # try:
- # current_user = MyUser.objects.get(username=user_name)
- # dat = 1
- # except Exception as e:
- # print(e)
- # if dat:
- # if check_password(pass_word, current_user.password) != True:
- # data = {"code":1001,"nums":"密码错误"}
- # else:
- # print('登陆成功')
- # # 将当前登录的用户名写入session
- # if current_user.is_superuser:
- # role = "superuser"
- # elif current_user.is_staff:
- # role = "staff"
- # elif current_user.is_agency:
- # role = "agency"
- # else:
- # role = "user"
- # request.session['username'] = user_name
- # data = {"code":1000,"nums":"登录成功","auth":role}
- # else:
- # data = {"code":1001,"nums":"当前用户不存在"}
- # data = json.dumps(data,ensure_ascii=False)
- # return HttpResponse(data)
- # # num = 1
- # if current_user.is_superuser:
- # role = "superuser"
- # elif current_user.is_staff:
- # role = "staff"
- # elif current_user.is_agency:
- # role = "agency"
- # if Purchase.objects.filter(userid=current_user).exists():
- # pass
- # else:
- # print(current_user.user_agency)
- # if current_user.user_agency:
- # purchase_list = Purchase.objects.filter(userid__user_agency=current_user.user_agency).count()
- # if purchase_list:
- # pass
- # else:
- # num = 0
- # else:
- # num = 0
- # else:
- # role = "user"
- # num = Purchase.objects.filter(userid=current_user).count()
- # # 获取用户所有组:
- # groups = Group.objects.filter(user=current_user)
- # print("groups:", groups)
- # for i in groups:
- # print("##############:",i.name)
- # print("当前用户类型:是否为超级管理员", current_user.is_superuser)
- # # 获取用户的logo组
- # logos = Logo.objects.filter(myuser=current_user)
- # print("logos:",logos)
- # for i in groups:
- # print("##############:",i.name)
-
- # print("当前用户类型:是否为超级管理员", current_user.is_superuser)
- # print("---------len:",len(logos))
- # if len(logos) == "0":
- # logos == ""
- # else:
- # pass
- # # 超级管理员没有到期时间 提取不到参数时会报错
- # try:
- # # remaining_days=账户还剩多少天
- # remaining_days = (current_user.expire_date - datetime.datetime.now()).days
- # # 账户的具体到期时间
- # user_date = current_user.expire_date
- # # 将账户的具体到期时间转字符串,取年-月-日
- # user_date = datetime.date.strftime(user_date,"%Y-%m-%d %H:%M:%S")[0:10]
- # except:
- # return render(request, 'home/home.html', context={'current_user': current_user, 'role': role, 'groups': groups, 'logos':logos,'have':num})
- # return render(request, 'home/home.html', context={'current_user': current_user, 'role': role, 'groups': groups,
- # 'remaining_days':remaining_days, 'user_date':user_date, 'logos':logos,'have':num})
- # # return render(request, 'home/home.html', context={'user_name': user_name, 'role': role, 'groups': groups})
- # else:
- # form = AddUserForm()
- # # # 读取cookie:
- # # try:
- # # user_name = request.COOKIES.get('uname')
- # # # 从cookie中读出的upwd p1为str:
- # # p1 = request.COOKIES.get('upwd')
- # # # print("type(p1):", type(p1))
- # # # 将str类型的p1转为bytes:p2
- # # p2 = bytes(p1, encoding='utf-8')
- # # # 将p2解密,得到bytes的p3:
- # # p3 = base64.decodestring(p2)
- # # # 将p3转为str:
- # # p4 = str(p3, encoding="utf8")
- # # pass_word = p4
- # # print("读取cookie:用户名:", user_name)
- # # print("读取cookie:用户密码:", pass_word)
- # # except:
- # # user_name = pass_word = None
- # if HTTP_HOST == "www.yfzhwlw.com" or HTTP_HOST == "yfzhwlw.com" or HTTP_HOST == "120.27.222.26":
- # return render(request, 'home/login.html', context={'form': form})
- # # return render(request, 'home/common_login.html', context={'form': form})
- # elif HTTP_HOST == "www.zgzhwlw.com" or HTTP_HOST == "zgzhwlw.com":
- # return render(request, 'home/common_login.html', context={'form': form})
- # elif HTTP_HOST == "127.0.0.1:8000":
- # return render(request, 'home/login.html', context={'form': form})
- # # return render(request, 'home/common_login.html', context={'form': form})
- # elif HTTP_HOST == "localhost:8000":
- # # return render(request, 'home/common_login.html', context={'form': form})
- # return render(request, 'home/common_login.html', context={'form': form})
- # else:
- # return render(request, 'home/login.html', context={'form': form})
|