我有一个带有一些过滤,排序和搜索功能的列表页面(基本上是在视图中创建一个QuerySet,然后返回调整后的(过滤,排序,搜索到的)数据)。在此列表页面上,我还有一个详细信息视图,显示对象的详细信息。
这一切都很好,但是当我导航到另一个详细信息对象时,搜索,过滤器和排序参数将重置为默认值。
在服务器往返之后如何保留搜索参数?
谢谢!
答案 0 :(得分:1)
您可以将GET参数存储为会话变量吗?
要设置:
request.session['my_variable'] = request.GET.get('some_get_parameter')
获得:
my_variable_value = request.session.get('my_variable')
例如,使用.get()
来检索参数和会话变量要比尝试直接使用request.session['my_variable']
直接访问dict更具健壮性,就好像my_variable
不在会话中一样,您会得到一个关键错误,但是如果找不到该变量,get()
将返回None
。