[oldboy-django][2深入django]学生管理(Form)--查看(分页)

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})

 

时间: 2024-10-21 02:08:42

[oldboy-django][2深入django]学生管理(Form)--查看(分页)的相关文章

[oldboy-django][2深入django]学生管理(Form)-- 编辑(设置input标签属性,设置input标签默认显示值,设置input的类型)

1 django 后台实现设置input标签属性,设置input标签默认显示值,设置input输入框类型 # Form生成html标签 a. 通过Form生成Input输入框,Form标签,以及submit标签还是要在前端写的, 但是Form标签内的Input标签可以在后台实现:只需要按以下步骤 - views定义StudentForm(Form)类 - views视图函数将Form实例化对象传递给前端 - 前端{{ obj.段 }}即可 b. 通过Form设置前端Input的type属性,即设

【django小练习之主机管理界面】

需求: 利用django,js,bootstrap等实现登录,主机管理等操作. 实现截图 登录界面 主机界面,添加及编辑 部门管理界面 代码实现 目录层级 settings.py """ Django settings for day16 project. Generated by 'django-admin startproject' using Django 1.11.4. For more information on this file, see https://do

Django的Mov逻辑的管理特色

Django的MOV逻辑的管理特色 首先我们谈论到一个逻辑上的概念都从它的起点说起,在我看来mov的起点肯定就是Model了,那么Model有什莫特色呢 如果一个项目定义的Django那么Django就会帮我们Model对应到数据库的表上,还有其对应的字段类型也是一大特色: 其字段类型包含了 这几类: 数值型,字符型,日期型,关系型. 其中关系型是最重要也是最抽象的,下面是下面是常用的字段类型的介绍: -----------------------------------------------

django 搭建上传文件系统——细说Form Validation(二)

我学习django的主要途径是http://djangobook.com, 作者的书好像也出版了.作者的思路很清爽,讲解浅显易懂,该深入的地方深入,我很喜欢,比django官方文档感觉好多了,官方文档讲解的太晦涩.这些随笔是结合一些例子来细说django的学习要点与本人的学习心得. 有些中文博客也讲解了用django做一些小的项目,但是没有细讲django的原理,即为什么要这样做,我就个人的理解会细致地讲解各个部分的知识点.希望能帮助更多人,也希望与更多人一起进步. 本人配置环境:(2017.6

django学习之xadmin后台管理部署

首先看下admin的后台管理界面(默认,未做任何设置) 都说xadmin很吊,吊炸天,我就拿过来撸了一把,发现事实并不是这样的,我只能说一句,最合适自己的才是最好的,还是自己撸吧,偶尔借鉴下还是可以的~ 不要太沉迷于这些框架~ 开工~ xadmin官方地址 http://xadmin.io/ xadmin github地址:https://github.com/sshwsfc/django-xadmin xadmin文档介绍:https://xadmin.readthedocs.org/en/l

Django使用普通表单、Form、以及modelForm操作数据库方式总结

Django使用普通表单.Form.以及modelForm操作数据库主要应用于增删该查的情景下,流程通用如下,只是实现方式不一样: 进入填写表单页面: 在表单页面填写信息,并提交: 表单数据验证 验证成功,和数据库进行交互(增删改查): 验证成功,页面提示表单填写失败: 一.Django使用普通表单操作数据库 1.html代码: <form action="/add/" method="post" name="addbook"> {%

django系列9--django中的组件(form表单)

一.Form介绍 普通方式注册功能实现 views.py # 注册 def register(request): error_msg = "" if request.method == "POST": username = request.POST.get("name") pwd = request.POST.get("pwd") # 对注册信息做校验 if len(username) < 6: # 用户长度小于6位 e

Django多对多关系建立及Form组件

目录 Django多对多关系 1.创建方式一全自动 2.创建方式二纯手撸 3.半自动(推荐使用) forms校验组件 使用forms组件实现注册功能 form常用字段和插件 数据校验 钩子函数 HOOK Django多对多关系 1.创建方式一全自动 class Book(models.Model): title = models.CharField(max_length=32) # 多对多关系字段 authors = models.ManyToManyField(to='Authors') cl

Linux下开发python django程序(设置admin后台管理模块)

1.新建项目和项目下APP django-admin startproject csvt03 django-admin startapp app1 2.修改settings.py文件 设置默认安装APP INSTALLED_APPS = ( 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.messages