Отображать только некоторые номера страниц по страницам Django

Я использую django paginator в шаблоне. Работает хорошо, но не хорошо, когда есть большое количество страниц.

views.py:

def blog(request):
    blogs_list = Blog.objects.all()

    paginator = Paginator(blogs_list, 1)

    try:
        page = int(request.GET.get('page', '1'))
    except:
        page = 1

    try:
        blogs = paginator.page(page)
    except(EmptyPage, InvalidPage):
        blogs = paginator.page(page)
    return render(request, 'blogs.html', {
        'blogs':blogs
        })

фрагмент шаблона:

  <div class="prev_next">

    {% if blogs.has_previous %}
      <a class="prev btn btn-info" href="?page={{blogs.previous_page_number}}">Prev</a>
    {% endif %}
    {% if blogs.has_next %}
      <a class="next btn btn-info" href="?page={{blogs.next_page_number}}">Next</a>
    {% endif %}
    <div class="pages">
      <ul>
      {% for pg in blogs.paginator.page_range %}
        {% if blogs.number == pg %}
          <li><a href="?page={{pg}}" class="btn btn-default">{{pg}}</a></li>
        {% else %}
          <li><a href="?page={{pg}}" class="btn">{{pg}}</a></li>
        {% endif %}
      {% endfor %}
      </ul>
    </div>
    <span class="clear_both"></span>

  </div> 

Теперь это выглядит так:

Что мне делать, чтобы отображать только 7 номеров страниц, а не все, начиная с номера текущей страницы, например так:

Prev 1 (2) 3 4 5 Next

Я надеюсь, что я был ясен, если нет, пожалуйста, спросите. Ваша помощь и руководство будут высоко оценены. Спасибо.

Ответы на вопрос(6)

Ваш ответ на вопрос