Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 25, 2014 04:34:00

despair4
Зарегистрирован: 2014-09-07
Сообщения: 55
Репутация: +  0  -
Профиль   Отправить e-mail  

передача переменной

на страничке стал формироваться слишком длинный отчет, хочу его выводить по частям

подскажите как можно передать между запросами номер странички, который укажет, какую часть отчета выводить

с методом пост наверное будет много возни?

как можно сформировать ссылку с номером в методе get?

как проверить пришло ли, что то по методу гет?

Офлайн

#2 Окт. 25, 2014 08:45:38

lead-in
Зарегистрирован: 2014-10-13
Сообщения: 19
Репутация: +  5  -
Профиль   Отправить e-mail  

передача переменной

Для этого в Django и существует pagination:
https://docs.djangoproject.com/en/dev/topics/pagination/
Это серверная часть.

Вдобавок к ней ещё понадобиться (можно и без неё, но с ней удобнее) клиентская часть, для этого тоже есть куча Javascript\JQuery плагинов. например: http://www.sitepoint.com/10-jquery-pagination-plugins/

Офлайн

#3 Окт. 26, 2014 22:07:14

inoks
От: Russia
Зарегистрирован: 2012-12-11
Сообщения: 343
Репутация: +  35  -
Профиль   Адрес электронной почты  

передача переменной

А как отчет генерируется?

Если в нем возможено разделения на части то проверять номер запрашиваемой части по переданному значению в example.com/report/?part=2

и во view по этому параметру обрабатывать выдачу

part = request.GET.get('part', 1)

Офлайн

#4 Окт. 28, 2014 14:40:33

despair4
Зарегистрирован: 2014-09-07
Сообщения: 55
Репутация: +  0  -
Профиль   Отправить e-mail  

передача переменной

inoks
example.com/report/?part=2

а как get параметры формировать в шаблоне странички? я урлконф перерыл - но так и не понял как гет формировать

Офлайн

#5 Окт. 29, 2014 09:38:38

inoks
От: Russia
Зарегистрирован: 2012-12-11
Сообщения: 343
Репутация: +  35  -
Профиль   Адрес электронной почты  

передача переменной

как то так:

<a href="{% url 'my_report' %}?part={{part_num}}">Next page</a>

Офлайн

#6 Окт. 29, 2014 09:51:15

N..E.M
Зарегистрирован: 2014-10-15
Сообщения: 7
Репутация: +  1  -
Профиль   Отправить e-mail  

передача переменной

inoks
как то так: <a href=“{% url ‘my_report’ %}?part={{part_num}}”>Next page</a>

Здесь есть подводный камень. Если уже есть в адресе гет-параметры, то они так потеряются. Ситуация возможна, к примеру, в случае каталога с фильтром.
Лучше делать фильтр, добавляющий к адресу нужный гет-параметр или заменяющий существующий с этим же именем.

Офлайн

#7 Окт. 29, 2014 13:39:57

inoks
От: Russia
Зарегистрирован: 2012-12-11
Сообщения: 343
Репутация: +  35  -
Профиль   Адрес электронной почты  

передача переменной

Это выходит за рамки того примера который я написал.

Но конечно можно написать и фильтр, анализирующий адрес перед добавлением доп. параметра.

Офлайн

#8 Окт. 29, 2014 14:43:33

despair4
Зарегистрирован: 2014-09-07
Сообщения: 55
Репутация: +  0  -
Профиль   Отправить e-mail  

передача переменной

а что за фильтр?

просто не желательно еще 1 параметр гет передавать

пока как советовали первый посылаю:

{% if mates_pages.prev %}
			<a href="{% url 'analizer:pilot_detail' mates_pages.pilot %}?mate_page={{mates_pages.prev}}"> prev </a>
		{% endif %}
		{% if mates_pages.next %}
			<a href="{% url 'analizer:pilot_detail' mates_pages.pilot %}?mate_page={{mates_pages.next}}"> next </a>
		{% endif %}

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version