从Django中的变量列出会话中使用的所有值
我做了一个简单的搜索视图来根据这些输入进行查询从Django中的变量列出会话中使用的所有值,django,django-views,Django,Django Views,我做了一个简单的搜索视图来根据这些输入进行查询 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(
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')
此搜索将被多次使用(可能具有相同的值),因此我希望保存并列出用户用于执行查询的所有输入(对于查询x和查询y变量)。我已经实现了在模板中获取值,但是当我在模板中放入
{{request.session.query}
以查看结果时,只会显示最后一个输入-我需要获取使用的所有值。无论在哪里调用搜索函数,都可以在调用搜索之前在那里创建一个会话变量list
request.session['query\u x']=list()
。
您只需执行
request.session['query\u x']=query\u x
即可。session['query\u x'].append(query\u x)并使用request.session['query\u x']
访问所有query\u x,谢谢您的回复。我使用您的建议更新了代码,但仍然只得到一个结果(我在query_x中使用的最后一个搜索输入)。我把request.session['query\u x']=list()
和request.session['query\u x']放在查询后的原始代码中。谢谢,Ashish。现在效果很好!我只使用了request.session['query\u x'].append(query\u x)
,我知道我看到了所有的请求。谢谢如果我只放了一个,那么问题是通过request.session['query\ux'].append(query\ux)
而不是request.session['query\ux']=query\ux