Django 一个简单的图书管理程序(五 通过查询添加借阅人)
来源:互联网 发布:js 删除指定的tr 编辑:程序博客网 时间:2024/04/30 05:54
之前在图书管理中是通过手工填写来添加借阅人的,现在改为选择系统里已有的借阅人来添加。
具体操作如下:
1. 修改操作
在“library/book/views.py”中添加如下代码:
def searchback(request): readers = Reader.objects.order_by('name') paginator = Paginator(readers, 10) page = request.POST.get('pageNum', 1) try: if int(page) > paginator.num_pages: page = str(paginator.num_pages) readers = paginator.page(page) except (EmptyPage, InvalidPage): readers = paginator.page(paginator.num_pages) return render_to_response('book/searchback.html', {'readers':readers, 'currentPage':page, 'numPerPage':5 })def searchbacksch(request): if 'q' in request.POST and request.POST['q']: q = request.POST['q'] readers = Reader.objects.filter(name__icontains = q) else: readers = Reader.objects.order_by('name') paginator = Paginator(readers, 10) page = request.POST.get('pageNum', 1) try: if int(page) > paginator.num_pages: page = str(paginator.num_pages) readers = paginator.page(page) except (EmptyPage, InvalidPage): readers = paginator.page(paginator.num_pages) return render_to_response('book/searchback.html', {'readers':readers, 'currentPage':page, 'numPerPage':5})
修改“library/book/views.py”中“editBook()”的代码如下:
def editBook(request, id): book = get_object_or_404(Book, pk=int(id)) # 404:服务器找不到指定的资源 if request.POST: book.name = request.POST.get('name', None) book.press = request.POST.get('press', None) book.author = request.POST.get('author', None) book.publicationTime = request.POST.get('publicationTime', None) account = request.POST.get('org.account', None) reader = Reader.objects.get(account__exact = account) book.reader = reader; book.save() return HttpResponse(simplejson.dumps({"statusCode":200, "navTabId":request.POST.get('navTabId', 'bookindex'), "callbackType":request.POST.get('callbackType', 'closeCurrent'), "message":u'编辑书本信息成功', "info":u'编辑书本信息成功'}), mimetype='application/json') return render_to_response('book/edit.html', {'book': book})
2. 修改“urls.py”
在“library/book/urls.py”的“patterns()”中添加代码:
url(r'^searchback/$', 'book.views.searchback',name="books_searchback"), url(r'^searchbacksch/$', 'book.views.searchbacksch',name="books_searchbacksch"),
3. 添加借阅人查询界面
在“library/templates/book”下新建“searchback.html”,代码如下:
<form id="pagerForm" action="{% url books_searchback %}" method="post"><input type="hidden" name="pageNum" value="{{ currentPage }}" /><input type="hidden" name="numPerPage" value="{{ numPerPage }}" /><input type="hidden" name="account" value=""/></form><script type="text/javascript"> if(typeof(dwzinit)=='undefined') {self.location="/" }</script><div class="page"><div class="pageHeader"><form rel="pagerForm" method="post" action="{% url books_searchbacksch %}" onsubmit="return dwzSearch(this, 'dialog');"><div class="searchBar"><ul class="searchContent"><li><label>姓名:</label><input type="text" name="q" /></li> </ul><div class="subBar"><ul><li><div class="buttonActive"><div class="buttonContent"><button type="submit">查询</button></div></div></li></ul></div></div></form></div><div class="pageContent"><table class="table" layoutH="118" targetType="dialog" width="100%"><thead><tr><th width="7%" align="center">序号</th><th orderfield="account">账号</th><th orderfield="name">姓名</th><th orderfield="email">邮箱</th><th orderfield="contact">联系方式</th><th width="80" >查找带回</th></tr></thead><tbody> {% for reader in readers.object_list %} <tr> <td>{{ forloop.counter }}</td> <td>{{ reader.account }}</td> <td>{{ reader.name }}</td> <td>{{ reader.email }}</td> <td>{{ reader.contact }}</td> <td><a class="btnSelect" href="javascript:$.bringBack({account:'{{ reader.account }}'})" title="查找带回">选择</a> </td> </tr> {% endfor %}</tbody></table><div class="panelBar"><div class="pages"><span>共{{ readers.paginator.count }}条</span></div><div class="pagination" targetType="dialog" totalCount="{{ readers.paginator.count }}" numPerPage="{{ readers.paginator.per_page }}" pageNumShown="10" currentPage="{{ currentPage }}"></div></div></div></div>注意:“account”名称要统一。
4. 修改图书编辑界面
修改“library/templates/book/edit.html”,将原代码:
<div><label>借阅人</label><input type="text" class="required" size="30" name="reader" value="{{ book.reader.name}}"/></div>
替换为:
<dl class="nowrap"><dt>借阅人:</dt><dd><input size="30" id="reader" name="org.account" readonly="readonly" type="hidden" /><input size="30" name="org.account" type="text" readonly="readonly" value="{{ book.reader.account }}" lookupGroup="org" /><a class="btnLook" href="{% url books_searchback %}" target="dialog" mask="true" width="600" height="400" title="查找带回" lookupGroup="org">查找带回</a><span class="info">(查询关联的设备)</span></dd></dl>
5.运行
在图书管理页中,点击某一图书信息的“编辑”操作进入如图所示页面:
点击进入查询页,如下图所示:
在此页面可以直接翻页查找,也可以通过输入借阅人姓名“查询”。点击借阅人的选中借阅人。
- Django 一个简单的图书管理程序(五 通过查询添加借阅人)
- Django 一个简单的图书管理程序(二编写借阅人管理)
- Django 一个简单的图书管理程序(六 添加CSV文件导入导出操作)
- Django 一个简单的图书管理程序(一建立项目)
- Django 一个简单的图书管理程序 (三 展示)
- Django 一个简单的图书管理程序(四 编写图书管理)
- C++实现一个简单图书借阅流程
- 一个简单的文件管理程序
- 图书管理程序(三)
- 图书管理程序(二)
- 图书管理程序(一)
- 简单Java图书管理程序(只实现了界面的显示)
- 免费的图书管图书借阅管理系统
- 一个简单的学生成绩管理程序
- 一个简单的CD唱片管理程序
- pyqt一个简单的计划管理程序
- 利用java的异常处理自己写个一个图书借阅系统的小案例
- 数据结构应用(图书借阅系统)
- Java连接数据库大全(8种)
- 程序员常去的109个网站
- ECIF和CRM
- 先进驾驶辅助系统ADAS一些技术应用小结
- Poj 3364 Black and white painting
- Django 一个简单的图书管理程序(五 通过查询添加借阅人)
- 关于MySql5“data too long for column”问题的探解
- JS中日期格式转换
- java生成彩色验证码
- 用Wireshark从http数据包中得到用户的登录信息
- hdu - 4337 - King Arthur's Knights - 哈密顿回路
- 12-8-14-POJ1826:Wrong Answer
- 北京的经纬度——及相对于北京时间的时差
- Android Tombstone/Crash的log分析和定位