代わりに、2つの異なるビューを作成するには、GETを追加することによって、同じビューから、ページ分割コンテンツを配信することができますページ番号を確認し、ajaxリクエストを同じビューに送信するために、URLにパラメータを追加します。このようにして、同じコンテンツに対して2つではなく1つのビューを管理する方が簡単になります。また、特定のコンテンツを生成するだけでなく、ajaxを使用している場合は、1つのビューで関連コンテンツのみを配信できるように、ビューを簡単に分割できます。例えば
、あなたのビューのURLが\url-to-somepage
ある場合はtemplate.html
を言う、あなたのテンプレートファイルに次に\url-to-somepage?page=2
にAJAXリクエストを送信することができ、include
別のテンプレートには、ページ分割されますコンテンツのため__sub_template.html
を言います。同様に、あなたのビューで次に
<div>
<!--
rest of the page
-->
{% include 'templates\__sub_template.html' %}
</div>
、
.def your_view(request):
"""
Your code here
"""
paginator = Paginator(contacts, number)
page = request.GET.get('page')
try:
result_list = paginator.page(page)
except PageNotAnInteger:
result_list = paginator.page(1)
except EmptyPage:
result_list = []
if page:
return render(request, '__sub_template.html', {'contacts': result_list})
else:
return render(request, 'template.html', {'contacts': result_list})
はそれのいずれかの作業例はありますか?私は混乱しているように私はそれが私の場合にどのように動作するか知っていませんでした。 – Tousif
ドキュメント内部の例が動作します。基本的には2つのテンプレートが必要です。テンプレートを含めたり、スクリプトなどを使用したりする必要があります。 –