1 需求: 查看所有学生的信息,(分页功能)
2 前端:bootstrap美化前端
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <link rel="stylesheet" href="/static/plugins/bootstrap-3.3.7-dist/css/bootstrap.css"> <link rel="stylesheet" href="/static/plugins/font-awesome-4.7.0/css/font-awesome.css"> </head> <body> <h4>学生管理</h4> <p> <a href="/app01/add_student" class="btn btn-primary">添加</a> </p> <table class="table table-striped table-bordered table-hover table-condensed"> <thead> <tr> <th>ID</th> <th>姓名</th> <th>年龄</th> <th>邮箱</th> <th>班级</th> <th>操作</th> </tr> </thead> <tbody> {% for item in student_list %} <tr> <td>{{ item.id }}</td> <td>{{ item.name }}</td> <td>{{ item.age }}</td> <td>{{ item.email }}</td> <td>{{ item.cls_id }}</td> <td> <a href="/app01/edit_student/nid={{ item.id }}" class="glyphicon glyphicon-pencil">编辑</a>| <a href="/app01/del_student/nid={{ item.id }}" class="glyphicon glyphicon-trash">删除</a> </td> {#点击删除是一个get请求,要想告诉服务器id,可以通过url get请求获取,或者url匹配到传递给视图#} </tr> {% endfor %} </tbody> </table> <nav aria-label="Page navigation"> <ul class="pagination"> {{ page_info.pager|safe }} </ul> </nav> </body> </html>
3 视图
def students(request): from utils.pagation_define import PageInfo current_page_number = request.GET.get('page') all_count = models.Classes.objects.all().count() page_info = PageInfo(current_page_number, all_count, "/app01/students") stu_list = models.Student.objects.all()[page_info.start():page_info.end()] return render(request, 'app01_student_list.html', {'student_list': stu_list})