Django对request.method =='POST'的无尽分页?

时间:2012-09-01 01:43:25

标签: ajax post django-endless-pagination

我正试图让Django Endless pagination在搜索表单上工作。 我在网上看到的所有示例和教程都展示了如何使用简单的.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内容传递给由endless-pagination插件完成的ajax查询?我在request.ajax()部分注释掉了所有内容,我只需要在POST请求之后填充与用户相同的数据。基本上,现在当我向下滚动时,我出现了“AJAX”,我也想查询其余部分。

有什么想法吗?我没有在网上发现任何明显的相关信息。我来自PHP背景,我会考虑$_SESSION[]个变量。 Django中有类似的东西吗?

1 个答案:

答案 0 :(得分:1)

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