基于分页类的视图django 1.5

时间:2014-08-19 03:19:04

标签: python regex django pagination

我正在开发基于Django的网站== 1.5.7

我需要在我的应用程序中对表的ListView进行分页。

这是我使用

的代码

在models.py上:

class UsuarioFidetel(models.Model):
"""
Modelo de usuario fidetel
"""

usuario = models.CharField(max_length=30)
id_usuario = models.IntegerField()
nombre = models.CharField(max_length=255, null=True)
apellido = models.CharField(max_length=255, null=True)
tipo_cedula = models.CharField(max_length=1, null=True)
cedula = models.CharField(max_length=9, null=True)
fecha_nacimiento = models.DateField(null=True, blank=True)
sexo = models.CharField(max_length=1, null=True)
correo = models.EmailField(max_length=254, null=True)
estado_civil = models.CharField(max_length=1, null=True)

def __unicode__(self):
    return self.nombre

在views.py上:

class UsarioList(ListView):
model = UsuarioFidetel
template_name = 'all_list.html'

在urls.py上:

url(r'^usario/$', UsarioList.as_view(model=UsuarioFidetel, paginate_by=2)),

注意网址的paginate_by属性,这工作正常,但是当我转到第二页或第一页之外的任何页面时,它会抛出此错误:

Page not found (404)
Request Method: GET
Request URL:    http://127.0.0.1:9001/usario?page=2

一切正常,但我认为这会在我的模板块中传递页面,没有重大错误,无法弄清楚这里的错误,也许我需要在网址上使用正则表达式?

有什么想法吗?

提前致谢!

1 个答案:

答案 0 :(得分:0)

没关系,在模板上解决了,即:

<span class="page-links">
            {% if page_obj.has_previous %}
                <a href="/fidetel/usario?page={{ page_obj.previous_page_number }}">&lt;</a>
            {% endif %}
            <span class="page-current">
                Page {{ page_obj.number }} of {{ page_obj.paginator.num_pages }}.
            </span>
            {% if page_obj.has_next %}
                <a href="/fidetel/usario?page={{ page_obj.next_page_number }}">&gt;</a>
            {% endif %}
        </span>

现在它的工作方式