再来看看views.py的后半部分,对数据库的增删改查

#获取学院列表
def get_acad_list():
room_list = ConfeRoom.objects.all() #对数据库的操作
acad_list = set()
for room in room_list:
acad_list.add(room.acad)
return list(acad_list)
#查看会议室
def viewroom(req):
username = req.session.get('username', '')
if username != '':
user = MyUser.objects.get(user__username=username)
else:
user = ''
acad_list=get_acad_list()
room_acad = req.GET.get("acad","all") #从前台点击选择学院,
if room_acad not in acad_list: #如果没有就全部显示
room_acad = "all"
room_list=ConfeRoom.objects.all()
else:
room_list=ConfeRoom.objects.filter(acad=room_acad)#只显示选定学院的会议室
content = {"active_menu":'viewroom',"acad_list":acad_list,"room_acad":room_acad,"room_list":room_list,"user":user}
return render_to_response('viewroom.html',content,context_instance=RequestContext(req))
#会议室详情
def detail(req):
username = req.session.get('username','')
if username != '':
user = MyUser.objects.get(user__username=username)
else:
user = ''
Id = req.GET.get("id","") #获得会议室主键ID号
req.session["id"]=Id
if Id == "":
return HttpResponseRedirect('/viewroom/')
try:
room = ConfeRoom.objects.get(pk=Id)#根据ID显示详细信息
ro =Detail.objects.get(pk=Id)
except:
return HttpResponseRedirect('/viewroom/')
img_list = Detail.objects.filter(room=room)
num_list = get_order_list()
if room.num not in num_list: #判断是否被预定,给定状态,给前台显示是否可以预定
or_sta="yes"
else:
or_sta="no"
content = {"active_menu":"viewroom","room":room,"img_list":img_list,"ro":ro,"or_sta":or_sta,"user":user}
return render_to_response('detail.html',content)
#预定
#获取预定列表
def get_order_list():
num_list=set()
order_list=Order.objects.all()
for order in order_list:
num_list.add(order.num)
return list(num_list)
def order(req):
username = req.session.get('username','')
if username != '':
user = MyUser.objects.get(user__username=username)
else:
user = ''
roid = req.session.get("id","") #预定,将数据保存到数据库
room = ConfeRoom.objects.get(pk=roid)
time = Detail.objects.get(name=room.name)
u = MyUser.objects.get(user__username=username)
order = Order(user=username,num=room.num,name=room.name,time=time.time,size=room.size,phone=u.phone)
order.save()
return render_to_response("index2.html",{"user":user},context_instance=RequestContext(req))
#查看预定信息
def myorder(req):
username = req.session.get('username','')
if username != '':
user = MyUser.objects.get(user__username=username)
else:
user = ''
try:
my_order=Order.objects.all() #索引数据库查看已预订信息
us_sta = "no"
return render_to_response("myorder.html",{"myorder":my_order,"us_sta":us_sta,"user":user},context_instance=RequestContext(req)) except:
us_sta = "yes"
return render_to_response("myorder.html",{"us_sta":us_sta,"user":user},context_instance=RequestContext(req))
#取消预定
def cancel(req):
username = req.session.get('username','')
if username != '':
user = MyUser.objects.get(user__username=username)
else:
user = ''
Id = req.GET.get("id","") #取消预订,删除数据
room =Order.objects.get(pk=Id)
room.delete()
return render_to_response("index.html",context_instance=RequestContext(req))

通过查django文档和学习别人的博客终于是把它写出来了,但是觉得有的地方还是写的不是很好,以后有时间再学习修改吧。

一个简单的预定过程完成了,虽然很简单但是我从中确实学到不少东西。

最新文章

  1. Dean-Edward的事件系统实现
  2. Java排序算法——拓扑排序
  3. juery与表单中name="nodeName"引起的冲突
  4. Hadoop笔记系列 一 用Hadoop进行分布式数据处理(1)
  5. Java 中包装类wrapped type之间以及和primitive type的比较
  6. sublime 的使用
  7. sql把一个表数据插入到另一张表
  8. [Effective JavaScript 笔记]第16条:避免使用eval创建局部变量
  9. Pigs and chickens
  10. 使用spring dynamic modules的理由
  11. Android Service即四大组件总结
  12. sql 多条件查询 拼接字符串 改成 普通查询格式
  13. Python3开发过程常见的异常(最近更新:2019-04-26)
  14. LeetCode算法题-Reverse String II(Java实现)
  15. 最新版 IntelliJ IDEA2018.3.x 破解教程
  16. vue 学习笔记—Resource
  17. 使用WebStorm自动提示nodejs的有关代码
  18. (实用)Linux下Eclipse安装配置PyDev
  19. elk系列2之multiline模块的使用【转】
  20. Report Studio值提示通过prompt宏函数给sql查询传参

热门文章

  1. Scala具体解释---------Scala是什么?可伸展的语言!
  2. Java定时器TimeTask
  3. vue --- axios发post请求后台接收不到参数的三种解决方案
  4. spring之DelegatingFilterProxy
  5. MySql免安装版绿化版安装配置,附MySQL服务无法启动解决方案
  6. MySQL Server 5.5.44免安装版配置详解
  7. matlab中plot画图参数的设置
  8. dos 实用命令搜集
  9. Python入门:全站url爬取
  10. 洛谷——P1027 Car的旅行路线