page = self.request.GET.get('page', 0)
https://docs.djangoproject.com/en/1.9/ref/class-ba...
Если нужно возвращать 404 если страница не существует, то ничего делать не нужно, а если не хочешь 404 - в темплейте укажи, что должно появиться на странице если список пуст
def get_queryset(self):
queryset = super(SongListView, self).get_queryset()
author = Author.objects.get(author_slug=self.kwargs.get('author_slug'))
paginator = Paginator(queryset.filter(song_author=author), 10)
return paginator.page(self.request.GET.get('page', 0))
Лучше не использовать исключения в местах, где их можно часто словить - лучше if
Так будет слегка быстрее