django 学习(十三)—— 设计嘉宾管理
一、嘉宾列表
新建.../templates/guest_manage.html页面。
DOCTYPE html>
<html lang="zh-CN">
<head>
{% load bootstrap3 %}
{% bootstrap_javascript %}
{% bootstrap_css %}
<meta charset="UTF-8">
<title>Guest Managetitle>
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 Systema>
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>idth><th>名称th><th>手机th><th>Emailth><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">
<form class="navbar-form" method="get" action="/search_guest_name/">
<div class="form-group">
<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>
....