【问题标题】:django pagination <if current page> in template模板中的django分页<如果当前页面>
【发布时间】:2013-08-02 14:06:17
【问题描述】:

我对 django 很陌生,我刚刚设法使用 CBV 创建了一个 ListView,我正试图在我的模板上显示它。为此,我使用 django 文档解决了以下问题:

{% if is_paginated %}

<div class="row">
<div class="span8 offset3">
<div class="pagination pagination-centered">


    <ul>

        {% if page_obj.has_previous %}
            <li><a href="{% url 'myurl' %}?page={{ page_obj.previous_page_number }}">Prev</a></li>
        {% endif %}

        {% for i in paginator.page_range %}
           {% if page_obj.has_next %}
               <li><a href="{% url 'myurl' %}?page={{i}}">{{i}}</a></li>
           {% endif %}

        {% endfor %}

        {% if page_obj.has_next %}
            <li><a href="{% url 'myurl' %}?page={{ page_obj.next_page_number }}">Next</a></li>
        {% endif %}

    </ul>


</div>
</div>
</div>

{% endif %}

现在,问题是,我正在使用 twitter 引导程序,他们推荐以下样式在对对象进行分页时“停用”当前页面:

<ul class="pagination">
 <li class="disabled"><a href="#">&laquo;</a></li>
 <li class="active"><a href="#">1</a></li>
</ul>

因此,在当前页面上,我想包含 &lt;li class="active"&gt; 以禁用该按钮 - 但我无法找到一种方法来使用我的模板上的上述分页来执行此操作。基本上,我需要以某种方式确定当前页面是否等于当前页码,然后将li class 应用于此。

希望提供有关如何解决此问题的线索。

感谢您的宝贵时间。

【问题讨论】:

  • 我不明白,你不能用{% if page_obj.has_previous %}class="active"{% else %}class="disabled"{% endif %}吗?
  • @rednaw:我在发布问题之前尝试了您所说的 - 出于某种原因,所有页码似乎都是“活动的”并且没有禁用。我要么真的很愚蠢,要么很奇怪!
  • 对于页码,您可能应该使用类似{% if page.obj.current_page_number == i %}class="active"{% else %}class="disabled"{% endif %}'
  • 你能显示你正在使用的视图或文件吗,可能会有帮助。
  • @rednaw: page.obj.current_page_number - 这是有效的吗?即它是否记录在案?我在任何地方都看不到这个。无论如何,我尝试使用它,它似乎不起作用。

标签: django twitter-bootstrap


【解决方案1】:

所以,我尝试了: page_obj.number ..然后砰..当前页码...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-19
    • 1970-01-01
    • 1970-01-01
    • 2021-01-02
    • 2018-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多