django 简单会议室预约(5)
再来看看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文档和学习别人的博客终于是把它写出来了,但是觉得有的地方还是写的不是很好,以后有时间再学习修改吧。
一个简单的预定过程完成了,虽然很简单但是我从中确实学到不少东西。
django 简单会议室预约(5)的更多相关文章
- django 简单会议室预约(6)
后台完了现在来看前端,前端用了一个bootstrap框架,看起来能好看点 先看一下文件结构:在djapp里创建了两个文件夹templates和static templates里面是要显示的页面,sta ...
- django 简单会议室预约(4)
基本的配置已经完成了,来看看最重要的views.py 先看看简单的注册登录功能,在django里有一个专门的模块用来验证用户信息 :所以只需要调用就好了: #-*-coding:utf-8 -*- f ...
- django 简单会议室预约(2)
--我们先打开settings.py 配置文件: import os #指明django APP目录路径 BASE_DIR = os.path.dirname(os.path.dirname(os.p ...
- django 简单会议室预约(1)
django 是python的一个web框架,为什么要用django,作者之前用过另一个框架flask,虽然flask比较简单很容易让人学,但是flask没有整体感,会让初学着茫然. 这里我们用dja ...
- django 简单会议室预约(3)
URL配置: 今天配置一下URL,打开urls.py配置如下: from django.conf.urls import patterns, include, url from djapp impor ...
- DJango简单的后台定义登录验证
第一步创建一个新的项目 APPLICATIONNAME : 表示创建子项目 第二步:找到主项目的url 进行 include 分发式url 简单的说,就是将app里边的url放在这里. 这里也可以找到 ...
- 基于django的会议室预订系统
会议室预订系统 一.目标及业务流程 期望效果: 业务流程: 用户注册 用户登录 预订会议室 退订会议室 选择日期:今日以及以后日期 二.表结构设计和生成 1.models.py(用户继承Abstrac ...
- Django简单的数据库操作
当然,本篇的前提是你已经配置好了相关的环境,这里就不详细介绍. 一. 在settings.py文件中设置数据库属性. 如下: DATABASES = { 'default': { 'ENGINE': ...
- 循序渐进Python3(十二) --2-- web框架之django简单实现oracle数据库操作
在 Django 中构建 Oracle 数据库支持的 Web 应用程序 了解如何配置 Django 以便与 Oracle 数据库交互,并使用 ORM 进行数据库连接. 产能在软 ...
随机推荐
- [Java开发之路](6)File类的使用
1. 构造方法 构造方法 描写叙述 File(String pathname) 通过将给定的路径名字符串转换为抽象路径名来创建一个新的文件实例. File(String parent , String ...
- TRIZ系列-创新原理-7-嵌套原理
原理表述例如以下: 1)把一个物体嵌入另外一个物体.然后将这两个物体再嵌入第三个物体,以此类推. 这个原理又叫俄罗斯娃原理,目的是在不影响原有功能的情况下: A) 在须要时.能够降低系统的体积和便于携 ...
- acme.sh建立SAN证书 和泛域名证书
文件来源 https://github.com/Neilpang/acme.sh/wiki/How-to-issue-a-cert domain=$domain time=`date +%Y%m%d% ...
- vue6 发请求
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- FSM的几种策略
FSM是什么?FSM就是Finite(有限) State(状态) 机(Machine)的缩写.(之所以中英文混写,是为了强调学懂FSM的原理是根本,刻意去采用“几段式”的写法并不重要) riple F ...
- 暑假集训-WHUST 2015 Summer Contest #0.2
ID Origin Title 10 / 55 Problem A Gym 100625A Administrative Difficulties 4 / 6 Problem B Gym 1006 ...
- Lightroom 学习笔记
16.8.28 白平衡: 夕阳照片,色温高大
- Linux下QQ的使用并手动设置QQ文件保存路径
一.背景&&目标 马化腾迟迟不肯做linux版本的QQ和微信,实在抠脚. 没有办法,要在linux上使用QQ,目前我找到最好的办法就是使用wine,然而wine这个杀千刀的又是个坑货, ...
- Windows上Python2与Python3同时安装、共存
一.选择 Python2 还是 Python3?当然是全都要 Python3 虽是未来,不过 Python2 的用户群体仍然膨大,网上有大量优良的项目和模块可供使用,遇到问题也基本可以找到解决方法,推 ...
- Swift实战(2)--在工程中添加object-C的类或者第三方框架(附翻译)
原文地址:http://stackoverflow.com/questions/24002369/how-to-call-objective-c-code-from-swift Using Objec ...