Разбиение на страницы Django для продуктов, проблема с разбиением на страницы при запросеPython

Программы на Python
Ответить Пред. темаСлед. тема
Гость
 Разбиение на страницы Django для продуктов, проблема с разбиением на страницы при запросе

Сообщение Гость »


Я работаю над проектом Django по созданию веб-сайта и столкнулся с проблемой при фильтрации через панель поиска по имени; нумерация страниц работает неправильно.

При фильтрации

def mart(запрос): запрос = request.GET.get('q') температура = request.GET.get('температура') если температура Нет: температура = 150 продукты = Product.objects.all() если запрос: продукты = продукты.фильтр(Q(имя__icontains=запрос)) для продукта в продуктах: последний_лог = Log.objects.filter(product_uuid=product).order_by('-date').first() если последний_лог: temp = последний_журнал.курс_темп продукт.температура = температура еще: продукт.температура = 0 продукты = отсортировано (продукты, ключ = лямбда x: x.temperature, обратный = True) paginator = Paginator(продукты, 20) номер_страницы = request.GET.get('страница') page_products = paginator.get_page(номер_страницы) Product_info_list = [] для продукта в page_products: Latest_log = Log.objects.filter(product_uuid=product,course_temp__lte=temperature).order_by('-date').first() all_productbadges = Productbadge.objects.filter(product_uuid=продукт) значки_urls = [] если all_productbadges: для значка продукта в all_productbadges: badge_id = productbadge.badge_id Badge_instance = Badge.objects.filter(label=badge_id).first() если значок_экземпляр: бейдж_url = бейдж_экземпляр.url tags_urls.append(badge_url) если последний_лог: информация_продукта = { «продукт»: продукт, 'последний_журнал': последний_журнал, 'badges_urls': badges_urls } Product_info_list.append(product_info) Распечатать("@@@@@@@@@") печать(page_products.next_page_number) контекст = {'product_info_list': Product_info_list, 'page_products': page_products} вернуть рендер (запрос, 'courses/mart.html', контекст = контекст) paginator = Paginator(продукты, 20) номер_страницы = request.GET.get('страница') page_products = paginator.get_page(номер_страницы) Product_info_list = [] для продукта в page_products: Latest_log = Log.objects.filter(product_uuid=product,course_temp__lte=temperature).order_by('-date').first() all_productbadges = Productbadge.objects.filter(product_uuid=продукт) значки_urls = [] если all_productbadges: для значка продукта в all_productbadges: badge_id = productbadge.badge_id Badge_instance = Badge.objects.filter(label=badge_id).first() если значок_экземпляр: бейдж_url = бейдж_экземпляр.url tags_urls.append(badge_url) если последний_лог: информация_продукта = { «продукт»: продукт, 'последний_журнал': последний_журнал, 'badges_urls': badges_urls } Product_info_list.append(product_info) контекст = {'product_info_list': Product_info_list, 'page_products': page_products} вернуть рендер (запрос, 'courses/mart.html', контекст = контекст) При фильтрации нумерации страниц мне показываются параметры, но когда я нажимаю «SIGUIENTE» (далее), отображается ВТОРАЯ страница для всех продуктов, в основном фильтр отсутствует

введите здесь описание изображения введите сюда описание изображения

введите здесь описание изображения

После нажатия кнопки «SIGUENTE» отображается страница 2 из общего числа продуктов, а не отфильтрованная. введите сюда описание изображения

Спасибо за поддержку

Помощь по коду итератора-пагинатора для поиска по запросу.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»