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 进行数据库连接. 产能在软 ...
随机推荐
- 翻翻git之---炫酷的自己定义翻滚View TagCloudView
转载请注明出处:王亟亟的大牛之路 周一好,又到了每周最困的一天.近期都被啮齿类动物搞的累死,废话不多,今天上一个自己定义的ViewGroup实现一个3D球形集合. 效果图: 效果还不错,能够作为短小文 ...
- sc命令以及InstallUtil安装service
1.安装 https://stackoverflow.com/questions/8164859/install-a-windows-service-using-a-windows-command-p ...
- js阻止默认事件与js阻止事件冒泡
e.stopPropagation(); //阻止事件冒泡 功能:停止事件冒泡 function stopBubble(e) { // 如果提供了事件对象,则这是一个非IE浏览器 if ( e &am ...
- Controller接口控制器
1.Controller简介 Controller控制器,是MVC中的部分C,为什么是部分呢?因为此处的控制器主要负责功能处理部分: 1.收集.验证请求参数并绑定到命令对象: 2.将命令对象交给业务对 ...
- 机器学习(三) Jupyter Notebook, numpy和matplotlib的详细使用 (上)
工欲善其事,必先利其器.在本章,我们将学习和机器学习相关的基础工具的使用:Jupyter Notebook, numpy和matplotlib.大多数教程在讲解机器学习的时候,大量使用这些工具,却不对 ...
- 记录一下 mysql 的查询中like字段的用法
SELECT * from t_yymp_auth_role where role_name not like '%测试%' and role_name not like '%部门%' and rol ...
- monyer教你玩电脑——CSS、HTML、JS、XML的关系
首先Monyer还是有必要提一句:这是一篇低中等难度的文章.如果你是高手或被认为是高手,那么请pass掉这篇文章:如果你是新手,甚至不知道什么是css(譬如百度模版)等,那么请pass掉这篇文章.谢谢 ...
- mysql中group by和order by混用 结果不是理想结果
在使用mysql排序的时候会想到按照降序分组来获得一组数据,而使用order by往往得到的不是理想中的结果,那么怎么才能使用group by 和order by得到理想中的数据结果呢? 例如 有一个 ...
- vue踩坑- 报错npm ERR! cb() never called!
在vue项目中引入饿了么elementUI组件的步骤之中,出现以下的错误: D:\my-project-first>npm i element-ui -S Unhandled rejection ...
- 4.Maven之(四)Maven命令
转自:https://blog.csdn.net/u012152619/article/details/51473410