[Django3.0]ページネーションを実装する

urls.py

urlpatterns = [
	// 省略
	path('client/<int:num>', views.client, name='client'),
        // 省略
]

views.py

from django.core.paginator import Paginator

def client(request, num=1):
	data = Clients.objects.all()
	page = Paginator(data, 3)
	params = {
		'data' : page.get_page(num)
	}
	return render(request, 'sales/client.html', params)

templateにページネーションを実装します。
*.html

<div class="list">
				<ul class="pagination justify-content-end">
					{% if data.has_previous %}
					<li class="page-item">
						<a class="page-link" href="/client/1">&laquo; first</a>
					</li>
					<li class="page-item">
						<a class="page-link" href="/client/{{data.previous_page_number}}">&laquo; prev</a>
					</li>
					{% else %}
					<li class="page-item">
						<a class="page-link">&laquo; first</a>
					</li>
					<li class="page-item">
						<a class="page-link">&laquo; prev</a>
					</li>
					{% endif %}
					<li class="page-item">
						<a class="page-link">{{data.number}}/{{data.paginator.num_pages}}</a>
					</li>
					{% if data.has_next %}
					<li class="page-item">
						<a class="page-link" href="/client/{{data.next_page_number}}">next &raquo;</a>
					</li>
					<li class="page-item">
						<a class="page-link" href="/client/{{data.paginator.num_pages}}">last &raquo;</a>
					</li>
					{% else %}
					<li class="page-item">
						<a class="page-link">next &raquo;</a>
					</li>
					<li class="page-item">
						<a class="page-link">last &raquo;</a>
					</li>
					{% endif %}
				</ul>
			</div>

あとは、client/にリクエストがあった時に、Page not foundとレスポンスを返してしまうので、urls patternでclient/ではなく、client/で来た時に、client/1にリダイレクトさせたいな。