django 学习(十三)—— 设计嘉宾管理
一、嘉宾列表
新建.../templates/guest_manage.html页面。
<!DOCTYPE html> <html lang="zh-CN"> <head> {% load bootstrap3 %} {% bootstrap_javascript %} {% bootstrap_css %} <meta charset="UTF-8"> <title>Guest Manage</title> </head> <body> <!--导航栏--> <nav class="navbar navbar-inverse navbar-fixed-top"> <div class="container"> <div class="navbar-header"> <a class="navbar-brand" href="/event_manage/">Guest Manage System</a> </div> <div id="navbar" class="collapse navbar-collapse"> <ul class="nav navbar-nav"> <li><a href="/event_manage/">发布会</a> </li> <li class="active"><a href="#">嘉宾</a> </li> </ul> <ul class="nav navbar-nav navbar-right"> <li><a href="#">{{ user }}</a> </li> <li><a href="/logout/">退出</a> </li> </ul> </div> </div> </nav> <!--嘉宾列表--> <div class="row" style="padding-top: 10px;"> <div class="col-md-6"> <table class="table table-striped"> <thead> <tr> <th>id</th><th>名称</th><th>手机</th><th>Email</th><th>签到</th><th>发布会</th></tr> </tr> </thead> <tbody> {% for guest in guests %} <tr> <td>{{ guest.id }}</td> <td>{{ guest.realname }}</td> <td>{{ guest.phone }}</td> <td>{{ guest.email }}</td> <td>{{ guest.sign }}</td> <td>{{ guest.event }}</td> </tr> {% endfor %} </tbody> </table> </div> </div> </body> </html>
2.在.../guest/urls.py文件中添加嘉宾路径的路由。

3.打开.../sign/views.py文件,创建guest_manage()视图函数
from sign.models import Event, Guest …… # 嘉宾管理 @login_required def guest_manage(request): username = request.session.get('user', '') guest_list = Guest.objects.all() # 通过Guest.objects.all()查询所有嘉宾对象(数据) return render(request, "guest_manage.html", {"user": username, "guests": guest_list}) #并通过render()方法附加在guest_manage.html页面,并返回给客户端。
二、添加搜索功能
1.修改../guest_manage.html,添加嘉宾搜索表单
<!--嘉宾搜索表单--> <div class="page-header" style="padding-top: 60px;"> <div id="navbar" class="navbar-collapse collapse"> <!-- method="get"为HTTP请求方式;action="/search_guest_name/"搜索请求路径--> <form class="navbar-form" method="get" action="/search_guest_name/"> <div class="form-group"> <!-- name="name"搜索输入框的name属性值--> <input name="name" type="text" placeholder="名称" class="form-control"> </div> <button type="submit" class="btn btn-success">搜索</button> </form> </div> </div>
<!--嘉宾列表-->
2.添加搜索嘉宾路由

3.创建search_guest_name()函数

三、添加分页器
Django提供了Paginator类来实现分类功能
1.打开.../sign/views.py文件,修改guest_manage()视图函数。


2.修改../guest_manage.html,添加分页器
<!--列表分页器--> <div class="pagination"> <span class="step-links"> {% if guests.has_previous %} <a href="?page={{ guests.previous_page_number }}">上一页</a> {% endif %} <span class="current"> Page {{ guests.number }} of {{ guests.paginator.num_pages }}. </span> {% if guests.has_next %} <a href="?page={{ guests.next_page_number }}">下一页</a> {% endif %} </span> </div>
....


浙公网安备 33010602011771号