2

我正在尝试让Django Endless 分页在搜索表单上工作。我在网上看到的所有示例和教程都展示了如何使用简单的查询集来完成.all(),但我需要通过 POST 中的搜索结果进行过滤。

这是我现在的视图:

@page_template("core/search_box.html")
def search(request,template = "core/search.html",page_template = "core/search_box.html",extra_context = None):
if request.is_ajax():
    #template=page_template()
    #users = Skill_User.objects.filter(skill__name__icontains=content).order_by('-level')
    #return render_to_response( template , {'page_template': page_template,'menu_home_active':True, 'form':search_form, 'result':users} , context_instance )
    return HttpResponse("AJAX")
elif request.method == 'POST':
    search_form = SearchForm( request.POST )
    # If Form is Valid
    if search_form.is_valid():
        type  = search_form.cleaned_data['type']
        content  = search_form.cleaned_data['content']
        print 'CONTENT ' + str(content)
        if (type == 'O'):
            users = Skill_User.objects.filter(skill__name__icontains=content).order_by('-level')
        elif (type == 'G'):
            users= {}
    return render_to_response( template , {'page_template': page_template,'menu_home_active':True, 'form':search_form, 'result':users} , context_instance=RequestContext(request) )
else:
    return HttpResponse("NOT OK")

所以搜索是在 POST 上完成的。但是我怎样才能将这个搜索 POST 东西传递给由无限分页插件完成的 ajax 查询呢?我注释掉了该request.ajax()部分中的所有内容,我只需要用与 POST 请求后相同的数据填充“用户”。基本上,现在当我向下滚动时,我会显示“AJAX”,并且我也想要查询的其余部分。

有任何想法吗?我没有在网上找到任何明显的关于此的内容。我来自 PHP 背景,我会考虑$_SESSION[]变量。Django中有类似的东西吗?

4

1 回答 1

1

好的,它可以使用一个简单的request.session[""]对象。

于 2012-09-01T04:18:52.963 回答