Перечислите все значения, используемые в сеансе, из переменной в Django - PullRequest
0 голосов
/ 15 февраля 2020

Я сделал простой вид поиска для запроса на основе этих входных данных.

def search(request):
    try:
        query_x = request.GET.get('query_x')
        query_y = request.GET.get('query_y')
        points_returned = request.GET.get('points_returned')
        distance_condition = request.GET.get('distance_condition')

        object_list = Points.objects.filter(
            geom_point__distance_lte=('POINT({0} {1})'.format(query_x, query_y), D(km=10))
            ).order_by('geom_point')[:int(points_returned)]

        request.session['query_x'] = query_x

        return render_to_response('search_results.html', {'object_list': object_list})
    except KeyError:
        return render_to_response('home.html')

Этот поиск будет использоваться много раз (возможно, с одинаковыми значениями), поэтому я хочу сохранить и перечислить все входные данные, использованные для выполнить запрос пользователем (для переменных query_x и query_y). Я уже достиг значения в шаблоне, но только последний вход появляется, когда я помещаю {{request.session.query_x}} в шаблон, чтобы увидеть результаты - мне нужно получить все используемые значения.

1 Ответ

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

Откуда бы вы ни вызывали функцию поиска, вы можете создать там переменную сеанса списка перед вызовом поиска request.session['query_x'] = list(). вместо request.session['query_x'] = query_x вы можете просто request.session['query_x'].append(query_x) и получить доступ ко всем query_x , используя request.session['query_x']

...