`
hoodbc
  • 浏览: 114831 次
  • 性别: Icon_minigender_1
  • 来自: 南宁
社区版块
存档分类
最新评论

django jinja2 分页的例子

阅读更多
仿照官方的文档:http://docs.djangoproject.com/en/1.2/topics/pagination/
jinja2的模板和django的模板还是有区别的,稍微改了下官方的例子
def news_list(request):
    """列表,测试分类使用"""
    users = UserState.objects.all()
    now = datetime.datetime.now()
    after_range_num = 5        #当前页前显示5页

    befor_range_num = 4       #当前页后显示4页
    
    p = Paginator(users,2)
    try:
        page = int(request.GET.get("page",1))
        
    except ValueError:
        page = 1
    
    try:
        cont = p.page(page)
    except(EmptyPage,InvalidPage):
        cont =p.page(p.num_pages)
        
    if page >= after_range_num:
        page_range = p.page_range[page-after_range_num:page+befor_range_num]

    else:
        page_range = p.page_range[0:int(page)+befor_range_num]
        
    return render_to_response("list.html",{
        'cont':cont,
        'page_range':page_range
    })


模板:

<body>
{%for bc in cont.object_list%}
	<font color="#3366CC">session_id is:</font>{{bc.session_key }}<br/>
{%endfor%}

{%if cont.has_previous() %}
            [url=?page={{ cont.previous_page_number() }}]上一页[/url]
{% endif %}

当前第{{cont.number}}页 /共 {{ cont.paginator.num_pages }}页({{cont.paginator.count}}条数据).

{%if cont.has_next() %}
            [url=?page={{cont.next_page_number()}}]下一页[/url]
{%endif%}
{{cont}}
 <div>
 
{% for p in page_range %}
{%- if cont.number==p %}
<span>{{p}}</span>
{% else %}
[url=?page={{p}}]{{p}}[/url]
{% endif %}
{% endfor %}
 
 </div>
</body>

jinja2的模板调用 has_nex的时候需要加上() ,另外就是他的if的语法要注意{%- if cont.number==p %} 总之jinja2替换掉原来django的模板还是很合适的。没有遇到太多的问题。
0
1
分享到:
评论

相关推荐

    Django 搜索结果分页的实现 以及点击下一页搜索条件丢失可能的原因分析

    1.Django 搜索结果分页的实现 在这里我们用django自带的分页模块来实现 这个paginator对象中带有如下属性: #per_page:每页显示条目数量 #count:数据总个数 #num_pages:总页数 #page_range:总页数的索引范围,如...

    pyjade, Django Jinja2和Mako的Jade 模板系统.zip

    pyjade, Django Jinja2和Mako的Jade 模板系统 PyJade PyJade是 python的一个高性能端口,它将任何. jade 源转换为每个模板语言( 。Django,Jinja2,Mako或者 Tornado ) 。命令行实用程序要简单地将转换输出到控制台...

    Django 简单实现分页与搜索功能的示例代码

    需要一个页面分页展示信息,在该页面添加搜索框以提供检索功能。 那么,我们知道,展示信息和检索功能是在同一个页面,也就是共用一个路由。 代码如下: 第一步,写路由:为了清晰,这里只给出主页和展示页面的路由...

    Django使用Jinja2模板引擎的示例代码

    'BACKEND': 'django.template.backends.jinja2.Jinja2', # 指定使用Jinja2作为模板后端 'DIRS': [os.path.join(BASE_DIR, 'templates'), os.path.join(BASE_DIR, 'learning_logs/templates')], # 指定模板目录 '...

    Django分页操作

    ### Django 分页操作详解 在Web开发中,为了提高用户体验并优化服务器资源使用,分页是一种常见的技术。本文将深入探讨如何在Django框架中实现高效、灵活的分页功能。 #### 一、理解Django分页机制 Django通过`...

    Django如何自定义分页

    在Django中,分页是实现大型Web应用中数据流管理的重要部分,它允许用户以较小的数据块浏览大量数据,而不是一次性加载所有内容。Django提供了内置的分页功能,但有时为了满足特定需求,我们需要自定义分页逻辑。本...

    python包jinja2

    Jinja2的设计灵感来源于Django模板语言,但它的设计目标是更加灵活、模块化,并且支持更多的编程特性。 在Windows环境下编译PX4固件时,可能会遇到依赖库的问题。Jinja2在这里的角色是提供模板处理功能,用于生成或...

    django整合jinja与sqlalchem

    django整合jinja与sqlalchemy

    Django结合Bootstrap完美实现分页效果

    在本文中,我们将深入探讨如何使用Django框架与Bootstrap前端库来实现动态、自适应的分页效果。Django是一个用Python编写的高效、可扩展的Web开发框架,而Bootstrap则是一个流行的前端开发工具,提供了丰富的UI组件...

    Django分页器代码

    总之,Django分页器是处理大量数据的有效工具,`django-pure-pagination`作为Django的一个第三方库,提供了一种简单易用的方式来实现分页功能。通过以上步骤,你可以快速地在你的Django项目中集成并使用这个库,提升...

    Django之简单分页流程

    在Django框架中,分页是网页开发中常见的需求,特别是在处理大量数据时,为了提高用户体验,我们需要将数据分页展示。本篇文章将详细介绍在Django中实现简单分页的流程。 首先,我们需要安装并引入Django的分页库`...

    python 利用jinja2模板生成html代码实例

    Jinja2是一个流行的模板引擎,用于Python编程语言,广泛用于Web开发框架如Flask和Django中。其核心功能是将数据与模板结合生成HTML页面或其他格式的文档。 在本文中,会通过实例代码详细解释如何使用Jinja2来生成...

    PyPI 官网下载 | Jinja2-2.0.tar.gz

    总的来说,Jinja2作为Python生态系统中的重要组件,提供了一种高效且易于理解的方式来生成动态内容,广泛应用于Web开发框架如Flask和Django中。它的强大功能和简洁的语法使得开发者能够专注于模板设计,而无需担心...

    Django原生sql也能使用Paginator分页的示例代码

    在Django框架中,使用Paginator类进行数据分页是一种常见的做法,它可以帮助我们方便地处理大量数据并分批次展示在用户界面中。然而,当我们的数据来源于原生SQL查询而不是Django ORM时,直接使用Paginator可能会...

    Django+Paginator模块+LayUi实现分页(精简版)

    Django之Paginator分页模块+layui表格(精简版) 上一篇也分享了一个关于Paginator+layui的ajax动态加载数据的博客,只是用到了layui静态表格、样式,功能上是根据自己思路用jQuery动态加载数据的博客分享,说白了上一...

    Jinja2英文文档.pdf

    Jinja2 是一个基于Python的现代且设计师友好的模板语言,设计灵感来源于Django的模板系统。它以其高性能、广泛的应用以及可选的安全沙箱模板执行环境而受到青睐。Jinja2提供了许多特性,旨在提高开发效率并确保安全...

    Django 分页处理.zip

    2. **创建分页对象**: - 一旦创建了`Paginator`实例,你可以使用`paginate_queryset()`方法来获取当前页的`Page`对象和总页数,例如: ```python paginator = Paginator(queryset, 10) page_number = request....

    Python3.5,django1.10实用例子2

    在本项目"Python3.5,django1.10实用例子2"中,我们将深入探讨如何利用Python 3.5和Django 1.10框架进行高效开发,特别是涉及AJAX、线程(thread)以及子进程(subprocess)调用系统命令的技术。这个项目可能包含一...

    Python Django实现layui风格+django分页功能的例子

    在Python的Django框架中,实现layui风格的分页功能是一项常见的需求,这不仅可以提高用户体验,还能有效地管理大量数据的展示。layui是一个流行的前端UI框架,它的设计简洁、优雅,与Django的后端功能结合可以创建出...

Global site tag (gtag.js) - Google Analytics