Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
134 changes: 134 additions & 0 deletions mydjangoDemo01/library/adminIndex.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
from django.shortcuts import render,redirect,HttpResponse
# djangp=2.1
from .models import *
from .utils import *


"""
Seat Information
"""
def startend2mask(start,end):
mask=""
for i in range(24):
if i >=start and i <end:
mask=mask+"1"
else:
mask=mask+"0"
#print("=> 开放时间为:",mask," .. mask的长度为:",len(mask))
return mask
def mask2startend(mask):
start=0
end=0
start=mask.find("1")
end=mask.rfind("1")
if start==-1 or end==-1:
start=0
end=0
return start,end

def addSeatPage(request):
return render(request,"addseat.html")
def addSeat(request):
#从前端表单中获取数据
Campus=request.GET.get("campus",None)
Classroom_1=request.GET.get("classroom_1",None)
Classroom_2=request.GET.get("classroom_2",None)
Classroom=str(Classroom_1)+str(Classroom_2)
Index_1=request.GET.get("index_1",None)
Index_2=request.GET.get("index_2",None)
Index=str(Index_1).zfill(3)+str(Index_2).zfill(3)
Electricity=(request.GET.get("electricity",None)=="Powered") #Powered->1 Unpowered->0
Start=request.GET.get("start",None)
End=request.GET.get("end",None)
Maxtime=request.GET.get("maxtime",None)
State=request.GET.get("state",None)
if State=="不可用":
State=-1
elif State=="空闲":
State=0
elif State=="被占用":
State=1
else:
State=None
#在 SeatInfo 表中添加记录
SeatInfo.objects.create(
Campus=Campus,
Classroom=Classroom,
Index=Index,
Electricity=Electricity,
Mask=startend2mask(int(Start),int(End)),
MaxTime=Maxtime,
)
#return redirect("/page/adminIndex.html")
return render(request,"adminIndex.html")

def manageSeatPage(request):
Campus=request.GET.get("Campus",None)
Classroom=request.GET.get("Classroom",None)
Index=request.GET.get("Index",None)
Electricity=request.GET.get("Electricity",None)
seats=SeatInfo.objects.all()
# print("打印各个值:",Campus,Classroom,Index,Electricity)
if "all" not in Campus:
seats=seats.filter(Campus=Campus)
if "all" not in Classroom:
# print("发现异常")
# print(type(Classroom),"###",Classroom,"###")
seats=seats.filter(Classroom=Classroom)
if "all" not in Index :
seats=seats.filter(Index=Index)
if "all" not in Electricity :
seats=seats.filter(Electricity=Electricity)
#seats是一个list类型的数据
# print("=> seats:",seats)
# print("seats.type:",type(seats))
#print("=> seat.type:",type(seats[0]))
context=dict()
context["seats"]=[]
for seat in seats:
temp=dict()
temp["Id"]=seat.id
temp["Campus"]=seat.Campus
temp["Classroom"]=seat.Classroom
temp["Index"]=seat.Index
temp["Electricity"]=seat.Electricity
temp["MaxTime"]=seat.MaxTime
temp["Mask"]=seat.Mask
context["seats"].append(temp)
return render(request,"manageSeat.html",context)
def modifySeat(request):
#print("=> 测试url传参:",request.GET.get("SeatID",None)) #经测试,能够成功传参,使用get方式获取
context=dict()
context["Id"]=request.GET.get("SeatID",None)
context["Campus"]=request.GET.get("Campus",None)
context["Classroom"]=request.GET.get("Classroom",None)
context["Index"]=request.GET.get("Index",None)
context["Electricity"]= True if "True" in request.GET.get("Electricity",None) else False
context["MaxTime"]=int(request.GET.get("MaxTime",None))
context["Mask"]=request.GET.get("Mask",None)
context["Start"],context["End"]=mask2startend(context["Mask"])
'''
# print(context)
# print("=> 开始检查 各个属性的 类型 数值 ..")
# print("*****",type(context["Id"]),"*****",context["Id"],"*****")
# print("*****",type(context["Campus"]),"*****",context["Campus"],"*****")
# print("*****",type(context["Classroom"]),"*****",context["Classroom"],"*****")
# print("*****",type(context["Index"]),"*****",context["Index"],"*****")
# print("*****",type(context["Electricity"]),"*****",context["Electricity"],"*****")
# print("*****",type(context["MaxTime"]),"*****",context["MaxTime"],"*****")
# print("*****",type(context["Mask"]),"*****",context["Mask"],"*****")
# print("*****",type(context["Start"]),"*****",context["Start"],"*****")
# print("*****",type(context["End"]),"*****",context["End"],"*****")
'''
seat=SeatInfo.objects.filter(id=int(context["Id"]))
if context["Campus"]=="None":
seat[0].delete()
seat=SeatInfo.objects.filter(id=int(context["Id"])).update(
Campus=context["Campus"],
Classroom=context["Classroom"],
Index=context["Index"],
Electricity=context["Electricity"],
Mask=startend2mask(start=context["Start"],end=context["End"]),
MaxTime=context["MaxTime"],
)
return render(request,"adminIndex.html")
2 changes: 2 additions & 0 deletions mydjangoDemo01/library/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@


# Create your views here.

from .apscheduler import initScheduler,seatInit
initScheduler()
seatInit()
Expand All @@ -23,3 +24,4 @@

# Student Index
from .studentIndex import reservationPage,reservation,sign