На моем приложении Django нумерация страниц не работает должным образом - PullRequest
0 голосов
/ 14 февраля 2020

Я пытаюсь разбить на страницы, в адресной строке отображается, что я на странице 2. Но ничего нового не отображается.

Ниже приведена выдержка из моих просмотров views.py:

class JobList(ListView):
    model               = Job
    template_name       = "jobs/job_listings.html"
    context_object_name = "job_list"
    ordering            = ['-published_date']
    paginate_by         = 3

    def get_context_data(self, **kwargs):
        context = super(JobList, self).get_context_data(**kwargs)
        jobs_expiring_soon = Job.objects.filter(application_last_date__gte=datetime.now(), application_last_date__lte=lookup_date)
        state_list = State.objects.order_by('name')
        profession_list = Profession.objects.order_by('name')

        context['jobs_expiring_soon'] = jobs_expiring_soon
        context['state_list'] = state_list
        context['profession_list'] = profession_list

        return context

Ниже приведена выдержка из моего файла urls.py:

path('', JobList.as_view(), name = 'job-list'),

Ниже приведен соответствующий шаблон:

{% extends 'base.html' %}

{% block page_content %}

{% for job in job_list %}
<div class="listing-wrapper">
    <div class="listing-container border-top border-bottom">
        <a href="{{ job.get_absolute_url }}">
        <h2 class="heading mt-3 mb-1 mx-2 d-inline-block">{{ job.title|truncatechars:75 }}</h2>
        <p class="mx-2"><span class="sub-heading mr-1">Number of Posts:</span><span class="mr-1 ml-1">{{ job.nop }}</span>|<span class="sub-heading ml-1 mr-1">Last Date to Apply:</span><span>{{ job.application_last_date|date:"j-M-Y" }}</span></p>
        <p class="mx-2 mb-3">{{ job.summary|truncatechars:200 }}</p>
        </a>
    </div>
</div>
{% endfor %}

{% if is_paginated %}
<ul class="pagination justify-content-center my-4">
  {% if page_obj.has_previous %}
  <li class="page-item">
    <a class="page-link bg-dark text-white" href="?page{{ page_obj.previous_page_number }}">&larr; Previous Page</a>
  </li>
  {% endif %}

  {% if page_obj.has_next %}
  <li class="page-item">
    <a class="page-link bg-dark text-white" href="?page{{ page_obj.next_page_number }}">Next Page &rarr;</a>
  </li>
  {% endif %}
</ul>
{% endif %}

{% endblock page_content %}

Буду очень признателен, если кто-нибудь может помочь я в получении этого исправлено. Заранее спасибо!

1 Ответ

0 голосов
/ 21 февраля 2020

Попробуйте установить context_object_name = 'job'. Я полагаю, что _list автоматически добавляется к нему, что означает, что ваше текущее представление создает контекст job_list_list.

...