如何获取/测试/?网格视图或/测试/?列表视图';在Django看来

如何获取/测试/?网格视图或/测试/?列表视图';在Django看来,django,django-views,django-urls,Django,Django Views,Django Urls,我有一个可以通过jQuery通过列表或网格视图查看的页面,但我希望URL显示它是什么视图——特别是当用户分页时,这样他们就不必重新单击他们想要查看的内容——类似这样:/test/?grid\u view或/test/?list\u view 我一直在尝试使用request.GET.GET,但它似乎不起作用。以下是我到目前为止的情况: def test (request): grid_view = request.GET.get('grid_view') list_view = r

我有一个可以通过jQuery通过列表或网格视图查看的页面,但我希望URL显示它是什么视图——特别是当用户分页时,这样他们就不必重新单击他们想要查看的内容——类似这样:
/test/?grid\u view
/test/?list\u 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))

然后,在我的主模板中,我会将不同的视图指向
,等等。可能有更好的方法这样做,因此任何建议都会受到欢迎

这不是GET参数。使用
request.META['QUERY\u STRING']
获取查询字符串。

空字符串的计算结果为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/'):
# ...