Pagin的一些问题

2024-10-01 00:18:15 发布

您现在位置:Python中文网/ 问答频道 /正文

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

这是在视图.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,每个页面也只加载了4个元素。 有人可以阻止我,我错过了一些东西,但我不明白什么…谢谢大家


Tags: inforifpageclasspaginatorfilmbold