我有一个页面可以通过列表或网格视图通过jQuery查看,但我希望URL显示它是什么视图 - 特别是当用户分页时,他们不必重新点击他们想要查看的内容 - 所以类似这样的事情:/test/?grid_view
或/test/?list_view
。
我一直在尝试使用request.GET.get
,但它似乎没有用。以下是我到目前为止的情况:
def test (request):
grid_view = request.GET.get('grid_view')
list_view = request.GET.get('list_view')
if grid_view:
return render_to_response('grid_view.html', {}, context_instance=RequestContext(request))
elif list_view:
return render_to_response('list_view.html', {}, context_instance=RequestContext(request))
else:
return render_to_response('default_view.html', {}, context_instance=RequestContext(request))
然后在我的主模板中,我会将不同的视图指向<a href="/?list_view/">list view</a>
等等。可能有更好的方法来做到这一点,所以任何建议也会受到赞赏。
答案 0 :(得分:2)
空字符串的计算结果为False,这就是您的GET请求查询字符串参数将包含的内容。
您可以将代码修改为:
if 'grid_view' in request.GET or 'grid_view/' in request.GET:
pass
elif 'list_view' in request.GET or 'list_view/' in request.GET:
pass
或者:
if request.GET.has_key('grid_view') or request.GET.has_key('grid_view/'):
# ...
答案 1 :(得分:0)
这不是GET参数。使用request.META['QUERY_STRING']
获取查询字符串。