django - 从 Django 中的变量列出会话中使用的所有值
问题描述
我做了一个简单的搜索视图来根据这些输入进行查询。
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}}
模板以查看结果时,只出现最后一个输入 - 我需要获取所有使用的值。
解决方案
无论您在哪里调用 search 函数,您都可以在调用 search 之前创建一个 list 的会话变量
request.session['query_x'] = list()
。而不是这样做,request.session['query_x'] = query_x
您可以简单地使用request.session['query_x'].append(query_x)
并访问所有query_xrequest.session['query_x']
推荐阅读
- java - 为什么静态块中的代码会执行多次?
- ssl - 如何生成证书 openssl TSLv1
- lisp - 为什么圆心坐标(键 10)不相对于 DXF 数据中的原点?
- php - 数据在表格中时不显示
- flutter - 如何使用具有相同类名的两种反序列化技术
- javascript - 带有phaser3的cordova无法正常播放ios音乐,声音已静音
- uml - 如何在 uml 类图中表示多对多关系
- python - OpenCV 不接受 ndarray 到 TextDecectorCNN.detect()
- ruby-on-rails - 库文件中的 Sidekiq 调用方法
- reactjs - Gatsby、GraphQL 和 Apollo 缓存问题