我正在开发基于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
一切正常,但我认为这会在我的模板块中传递页面,没有重大错误,无法弄清楚这里的错误,也许我需要在网址上使用正则表达式?
有什么想法吗?
提前致谢!
答案 0 :(得分:0)
没关系,在模板上解决了,即:
<span class="page-links">
{% if page_obj.has_previous %}
<a href="/fidetel/usario?page={{ page_obj.previous_page_number }}"><</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 }}">></a>
{% endif %}
</span>
现在它的工作方式