ページ単位でクエリ結果を表示するために、Django project
のページ番号を改善しています。 @neverwalkalonerが私を助けてくれてありがとう:Create several pages from arrayDjangoページネーションですべてのページが表示されない
しかし、私は不溶性のエラーが出ます。私は最初のページを表示することができ、それはかなりうまくいくが、次のページを選択すると、次の結果とともに表示されない。あなたが見ることができるように
:
最初のページ
2ページ目
これが私の見解です。
@login_required
def Table_annuelle_BirthCertificate(request) :
query_naissance = request.GET.get('q1')
request.session['query_naissance'] = query_naissance
if query_naissance :
query_naissance_list = BirthCertificate.objects.filter(created__icontains=query_naissance).order_by('lastname')
else :
query_naissance_list = BirthCertificate.objects.none() # == []
paginator = Paginator(query_naissance_list, 3)
page = request.GET.get('page', 1)
try:
query_naissance_list = paginator.page(page)
except PageNotAnInteger:
query_naissance_list = paginator.page(1)
except EmptyPage:
query_naissance_list = paginator.page(paginator.num_pages)
context = {
"BirthCertificate":BirthCertificate,
"query_naissance" : query_naissance,
"query_naissance_list" : query_naissance_list,
"PageNotAnInteger":PageNotAnInteger,
}
return render(request, 'annuel.html', context)
そして、私のテンプレート:
<h4 class = "col-sm-10"> <b><font color="#0083A2"> <span class="glyphicon glyphicon-user"></span> Prévisualisation de la table annuelle des naissances </b></font></h4>
<form class = "col-sm-10" method="GET" action="">
<input type="text" name="q1" placeholder="Entrer une année" value="{{ request.GET.q1 }}">
<input class="button" type="submit" value="Rechercher">
</form>
<br></br>
<br></br>
<table style="width:50%">
<tbody>
<tr>
<th>Nom & prénom(s)</th>
<th>Lieux de Naissance</th>
<th>Date des actes</th>
<th>Numéro de l'acte</th>
</tr>
{% for item in query_naissance_list %}
<tr>
<td> {{item.lastname}} {{item.firstname}} </td>
<td> {{item.birthcity}} ({{item.birthcountry.name}}) </td>
<td> {{item.created}} <p></p> {{item.birthday}} (Naissance) </td>
<td> {{item.id}} </td>
</tr>
{% endfor %}
</tbody>
</table>
{% if query_naissance_list.has_previous %}
<a href="?page={{ query_naissance_list.previous_page_number }}">Page précédente</a>
{% endif %}
<span class="current">
Page {{ query_naissance_list.number }} sur {{ query_naissance_list.paginator.num_pages }}.
</span>
{% if query_naissance_list.has_next %}
<a href="?page={{ query_naissance_list.next_page_number }}">Page suivante</a>
{% endif %}
は、あなたのアイデアをお持ちですか?私は多くのチュートリアルをチェックしていて、どこを忘れたのか分かりません。
'try'ブロック内の' query_naissance_list = paginator.page(page) 'があなたに見えない例外を投げている可能性があります。 –
@Sayseの例を使用しました。私は 'q1'変数を毎回各ページに指定しなければなりませんでした。私はそれがすべてのページでグローバルであると思っていたし、ついには – Deadpool