• Django分页 过滤器


    分页
    from django.core.paginator import Paginator
    if request.method=="GET":
    cate=Cate.objects.all()
    page_count=3 #每页显示多少条
    # computer=Computer.objects.all() #获取所有数据
    current_page=int(request.GET.get('p',1)) #当前页
    pag=Paginator(cate,page_count) #数据显示多少条
    goods_list=pag.get_page(current_page) #当前页的内容
    total_page=pag.num_pages #总页数

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="/static/web/css/jquery.pagination.css">
    <script type="text/javascript" src="/static/web/js/jquery-3.3.1.min.js"></script>
    <script type="text/javascript" src="/static/web/js/jquery.pagination.min.js"></script>
    </head>
    <body>
    <ul>
    {% load my_filter %} #过滤器
    {% for i in goods_list %}
    <li>{{ i.name|my_str }}</li>
    {% endfor %}
    </ul>
    <div id="pagination"></div>
    <input type="text" id="paginate"> #输入第几页点击跳转
    <button type="button" onclick="tiao()">确定</button>
    </body>
    <script>
    $("#pagination").pagination({
    currentPage: {{current_page}},
    totalPage: {{total_page}},
    callback: function(current) {
    window.location.href="/index/?p="+current
    }
    });
    function tiao(){
    var pp=$('#paginate').val()
    window.location.href="/index/?p="+pp
    }
    </script>
    </html>

    过滤器:
    在子应用下建templatetags文件夹
    在文件夹下建my_filter.py文件
    from django import template
    register = template.Library()
    @register.filter
    def my_str(val):
    return str(val) +'电脑'

    {% load my_filter %} #过滤器
    {% for i in goods_list %}
    <li>{{ i.name|my_str }}</li>
    {% endfor %}

  • 相关阅读:
    [Python]执行Linux命令
    [Linux]命令返回值以及错误对照表
    [ERROR]pip insall pyodbc
    [CentOS7]安装ODBC Driver 17 for SQL Server
    [Python]获取字典所有值
    [Python]判断变量类型是否为List列表
    十分钟了解pandas
    Docker容器化技术(上)
    C语言位域
    PAT基础级-钻石段位样卷2-7-7 危险品装箱 (25 分)
  • 原文地址:https://www.cnblogs.com/wyf2019/p/10959435.html
Copyright © 2020-2023  润新知