request.is_ajax没有执行render_to_response django

时间:2013-11-09 03:48:20

标签: python ajax django django-views

我有一个小的django视图,在ajax调用时以dict响应。以下是代码:

Ajax Call:

var getdata = function(e){
                var id = this.id;
                console.log(id);
                $.ajax({
                    url:'/editcontact/',
                    method :'POST',
                    data :{
                        'name' : id,
                    },
                    success:function(){
                        console.log("success");
                    },
                    error:function(status){
                        console.log (status);
                    }
                });
            };
            $("button").on('click',getdata);

views.py

if request.is_ajax:
print "comes here"
value1 = request.GET['name']
print value1
data = dbs.objects.filter(cname=value1)
print data
return render_to_response("editcontact.html",{"data":data}, context_instance=RequestContext(request))

代码正在执行直到打印数据,但render_to_response不起作用。

1 个答案:

答案 0 :(得分:1)

我建议你以json格式返回响应。这将解决你的问题。 您可以从下面的代码中获取帮助,并可以更改您的views.py

import json
if request.is_ajax:
    print "comes here"
    value1 = request.GET['name']
    print value1
    data = dbs.objects.filter(cname=value1)
    json = simplejson.dumps(data)
    return HttpResponse(json, mimetype='application/json')