Django получит последний параметр GET

91
9

Я работаю с Django уже несколько месяцев, поэтому я все еще новичок в этом.

Я хочу получить последний параметр GET из URL. Вот и пример URL:

example.com?q=Something&filter1=Test&filter1=New&filter2=Web&filter3=Mine

Есть ли способ получить последний вставленный параметр GET с помощью django? Это может быть filter1, filter2 или filter3..

Может быть, есть способ сделать это после первоначального обновления с помощью javascript/jQuery?

Благодарю!

спросил(а) 2012-11-08T11:31:00+04:00 7 лет, 11 месяцев назад
1
Решение
71

Вы можете сами проанализировать параметры URL-адреса. Например:

Python/Django

from urlparse import urlparse, parse_qsl

full_url = ''.join([request.path, '?', request.META['QUERY_STRING']])
#example.com?q=Something&filter1=Test&filter1=New&filter2=Web&filter3=Mine
parameters = parse_qsl(urlparse(full_url)[4])
#[(u'q', u'Something'), (u'filter1', u'Test'), (u'filter1', u'New'), (u'filter2', u'Web'), (u'filter3', u'Mine')]
last_parameter = parameters[-1]
#(u'filter3', u'Mine')

Javascript

var params = window.location.search.split("&");
//["?q=Something", "filter1=Test", "filter1=New", "filter2=Web", "filter3=Mine"]
var last_param = params[params.length-1].replace("?","").split("=");
//["filter3", "Mine"]

Этот пример не использует jQuery и предоставляет базовые знания в разборе URL. Есть много библиотек, которые могут сделать это за вас.

ответил(а) 2012-11-08T12:32:00+04:00 7 лет, 11 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема