Найти - Пользователи
Полная версия: передача переменной
Начало » Django » передача переменной
1
despair4
на страничке стал формироваться слишком длинный отчет, хочу его выводить по частям

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

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

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

как проверить пришло ли, что то по методу гет?
lead-in
Для этого в Django и существует pagination:
https://docs.djangoproject.com/en/dev/topics/pagination/
Это серверная часть.

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

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

и во view по этому параметру обрабатывать выдачу
part = request.GET.get('part', 1)

despair4
inoks
example.com/report/?part=2

а как get параметры формировать в шаблоне странички? я урлконф перерыл - но так и не понял как гет формировать
inoks
как то так:
<a href="{% url 'my_report' %}?part={{part_num}}">Next page</a>
N..E.M
inoks
как то так: <a href=“{% url ‘my_report’ %}?part={{part_num}}”>Next page</a>

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

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

просто не желательно еще 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 %}
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB