如何将数据从变量加载到Django Paginator中? [英] How to load data from variable into django paginator?

查看:45
本文介绍了如何将数据从变量加载到Django Paginator中?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要基于变量中的数据创建分页器.变量只是python列表.

I need to create paginator based on data from variable. Variable is just python lists.

views.py:

def test(request):

   db = MySQLdb.connect(host="localhost",  # your host, usually localhost
                        user="pc",  # your username
                        passwd="3346378",  # your password
                        db="mc")

   cur = db.cursor()

   cur.execute('''SELECT * FROM hello left join hell on hello.Id=hell.Id ''')

   row = cur.fetchall()

因此,行是很多列表.以及如何将其加载到分页器中?或者一种方法是为数据创建表和模型,然后使用Django ORM或其他方法使用它?

So, row is lot's of lists. And how can I load it into paginator? Or one way is to create table and model for data and work with it using Django ORM or something?

推荐答案

Django内置了 Paginator 类,您可以查看以下内容:

Django has built in Paginator class you can check this out: paginator objects and a few examples here: Pagination examples, to use in a view : Using Pagination in view

如果它引用多个对象,则写多个变量名:所以它是 rows 而不是 row

if it is referencing muliple objects then write plural variable names: so it is rows instead of row

因此,在您的视图中:

paginator = Paginator(rows, 25) # Show 25 rows per page
page = request.GET.get('page')
rows = paginator.get_page(page)
return render(request, 'example.html', {'rows': rows})

在HTML中:

{% for r in rows %}

    {{ r }}<br>
    ...
{% endfor %}

<div class="pagination">
    <span class="step-links">
        {% if rows.has_previous %}
            <a href="?page=1">&laquo; first</a>
            <a href="?page={{ rows.previous_page_number }}">previous</a>
        {% endif %}

        <span class="current">
            Page {{ rows.number }} of {{ rows.paginator.num_pages }}.
        </span>

        {% if rows.has_next %}
            <a href="?page={{ rows.next_page_number }}">next</a>
            <a href="?page={{ rows.paginator.num_pages }}">last &raquo;</a>
        {% endif %}
    </span>
</div>

这篇关于如何将数据从变量加载到Django Paginator中?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆