如何在返回的AJAX调用上使用django模板标签?

时间:2015-05-11 02:03:58

标签: jquery python ajax django

我有一个简单的AJAX脚本,它在名为AJAXBox的搜索字段中输入一个输入的字符串,并调用一个视图函数,该函数使用过滤器查询数据库,并返回与输入参数匹配的所有User对象的查询集。当我使用django模板标签迭代查询集时,它不起作用。我假设这是因为我的Javascript调用的输出实际上并不输出查询集,而是django模板无法识别的某种类型的字符串。我如何解决这个问题,以便我的AJAX调用返回真正的django兼容查询集,django中的正常渲染函数输出?

AJAX的JS:

$(document).ready(function(){

$('#AJAXBox').keyup(function()  {

    var searchedterm;
    searchedterm = $(this).val();
    $.get('/AJAXsearch/', {searchterm: searchedterm}, function(data){
        $('#result').html(data);

      });       

    });  
});

python代码的tl; dr基本上是:

def AJAXsearch(request):
    searchterm = request.GET['searchterm']
    result = UserObj.objects.filter(person_name=searchterm)
    return HttpResponse(result)

当我在模板中使用html并执行以下操作时:

<div id="result">
    {% for person in result %}
        {{person.property}}
    {%endfor%}
</div>

模板标记循环不执行任何操作。事实上,我根本无法操纵/设计输出,它只是一个普通的用户名字符串。

0 个答案:

没有答案