2017-06-09 5 views
0
views.pyで

book_list.htmlはジャンゴ

{% extends "base.html" %} 
{% block content %} 
<h3> Available books </h3> 
{% if book_list %} 
<ul> 
    {% for book in book_list %} 
    <li> <a href = "{{ book.get_absolute_url }}">{{book.title }}</a> <small> by {{book.author }}</small></li> 
    <p>{{ book.summary }} 
    {% endfor %} 
<ul> 
{% endif %} 
{% if is_paginated %} 
    <div class="pagination"> 
     <span class="page-links"> 
      {% if page_obj.has_previous %} 
       <a href="{{ request.path }}?page={{ page_obj.previous_page_number }}">previous</a> 
      {% endif %} 
      <span class="page-current"> 
       Page {{ page_obj.number }} of {{ page_obj.paginator.num_pages }}. 
      </span> 
      {% if page_obj.has_next %} 
       <a href="{{ request.path }}?page={{ page_obj.next_page_number }}">next</a> 
      {% endif %} 
     </span> 
    </div> 
{% else %} 
     <h4> pagination not working</h4> 
{% endif %} 
{% endblock %} 

クラスのクラスベースのビューのために正常に動作していないis_paginated

class Book(models.Model): 
    title=models.CharField(max_length=100) 
    author = models.ForeignKey('Author',on_delete=models.SET_NULL,null = True) 
    summary = models.TextField(max_length=200,help_text="Enter the description") 
    isbn = models.CharField('ISBN',max_length=13 ,help_text='13 Character <a href="https://www.isbn-international.org/content/what-isbn">ISBN number</a>') 
    genre = models.ManyToManyField(Genre,help_text = 'selct a genre for this book') 

    class Meta: 
    ordering =["title"] 
    def __str__(self): 
    return self.title 

    def get_absolute_url(self): 
    return reverse('book-detail',args=[str(self.id)]) 

book_listが完全にレンダリングされます。問題はページネータであり、is_paginated条件は機能しておらず、else文を実行しています.3時間以上試していますが、解決策が見つかりませんでした。ここに ?
ジャンゴバージョン:1.11.2 パイソン:3.5

編集: 更新1:問題はpaginate_by値は2であった、全アイテムは、2つの故にそれがis_paginatedタグを開始しなかった表示するために、 paginate_by値以上のアイテムを1つ追加してもうまくいきました。

答えて

1

使用これは、あなたがいくつかの問題を抱えていたかの条件

{% extends "base.html" %} 
{% block content %} 
<h3> Available books </h3> 
{% if object_list %} 
    <ul> 
     {% for book in object_list %} 
     <li> <a href = "{{ book.get_absolute_url }}">{{book.title }}</a> <small> by {{book.author }}</small></li> 
     <p>{{ book.summary }} 
     {% endfor %} 
    <ul> 

    {% if is_paginated %} 
     <div class="pagination"> 
      <span class="page-links"> 
       {% if page_obj.has_previous %} 
        <a href="{{ request.path }}?page={{ page_obj.previous_page_number }}">previous</a> 
       {% endif %} 
       <span class="page-current"> 
        Page {{ page_obj.number }} of {{ page_obj.paginator.num_pages }}. 
       </span> 
       {% if page_obj.has_next %} 
        <a href="{{ request.path }}?page={{ page_obj.next_page_number }}">next</a> 
       {% endif %} 
      </span> 
     </div> 
    {% else %} 
      <h4> pagination not working</h4> 
    {% endif %} 
     {% else %} 
     <h4> No book</h4> 
{% endif %} 
{% endblock %} 
+0

いいえ、私はまだ同じエラーを取得しています。 –

+0

上記のpaginate_byのビューにクエリーセットを入れ、 – Exprator

+0

をチェックしてください。でも同じ問題です。 –