分页的一些问题

时间:2013-06-06 17:40:51

标签: python django django-templates django-views django-pagination

我是python和django的新手,所以我很抱歉这个愚蠢的问题...... :)

这是在views.py

def attore(request, id):
    attore = get_object_or_404( Attore, pk=id )
    # return render_to_response('Attore.html', { 'film': Film.objects.filter( attori=attore ), 'attore': attore })
    film_attore = Film.objects.filter( attori=attore )
    paginator = Paginator( film_attore, 1 )
    try:
        pagina = int( request.GET.get( "pagina", "1" ) )
    except ValueError:
        pagina = 1
    try:
        pagine = paginator.page( pagina )
    except ( EmptyPage, InvalidPage ):
        pagine = paginator.page ( paginator.num_pages )
    return render_to_response('Attore.html', { 'film_attore': pagine, 'pagine': range( 1, paginator.num_pages + 1 ) } )

这在模板中:

<h2>{% for attore in film_attore %}{{ attore.nome }}
   {% for film in attore.film_set.all %}
      {{ film.titolo }}
      {% for umori in film.umori.all %}{{ umori.umore }}{% endfor %}
   {% endfor %}
{% endfor %}
    <div class="grid_16 center">
    {% if film_attore.has_previous %}
      <a class="color2 bold hover" href="?pagina={{ film_attore.previous_page_number }}">precedente</a>
    {% endif %}
    {% for i in pagine %}
    {% if i != film_attore.number %}
      <a class="black bold hover" href="?pagina={{ i }}">{{ i }}</a>
    {% else %}
      <a class="color1 bold line size20">{{ i }}</a>
    {% endif %}
    {% endfor %}
    {% if film_attore.has_next %}
      <a class="color2 bold hover" href="?pagina={{ film_attore.next_page_number }}">successivo</a>
    {% endif %}
    </div>

通过这种方式,它不起作用,因为它不加载任何东西。

但是如果我在模板中删除" {%for attore in film_attore%} "并添加"'attore':attore "在词典中视图,显然它加载元素,但每个页面四个元素,即使我写了1。 有人可以打扰我,我想念一些东西,但我不明白...谢谢你们所有人

0 个答案:

没有答案