2016-12-08 3 views
0

에서 데이터를 반환하지 않으며, 나는 내가 그것을보기의 정보를 수신하고 인쇄 할 수 있습니다 2.1.1JsonResponse 내가 1.7 장고가 템플릿

JQuery와에 의해 전송 된 정보를 수신 할 뷰를 만들었지 만, 때 JsonResponse을 사용하여 JSON을 템플릿의 함수에 보내고 console.log을 사용하여 JSON을 보았습니다. 아무 일도 일어나지 않습니다.

views.py

def filtro(request): 
    if request.is_ajax(): 
     carrera = Event.objects.filter(category__name = request.GET['id']) 
     reponse = JsonResponse({'name' : carrera.name, 'age' : carrera.summary}) 
     return HttpResponse(response.content) 
    else: 
     return ('/')  

urls.py

url(r'^filtro/$', 'apps.eventos.views.filtro', name="filtro"), 

eventos.html 사람이 어떤 a 태그를 클릭하면, 내가 JSON에 의한 정보를 표시 할

$('.list li a').on('click', Filtrar); 
    function Filtrar(){ 
    var id = $(this).text() 
    $.ajax({ 
     data : {'id' : id}, 
     url : '/filtro/', 
     type : 'get', 
     success: function(data){ 
     console.log(data); 
     } 
    }); 

    }; 

내 모델에서.

+0

'카레는'필터링의 검색어 될 것으로 보인다 JSON 응답. 이것으로부터'name'과'summary'를 어떻게 얻을 수 있습니까? – AKS

+0

@AKS 네, 그것은 queryset입니다. for와 반복합니다. 그리고 또 다른 것은, 저 모델의 모든 객체를 json의 응답으로 보내려고합니다. 그렇게 할 수 있습니까? – soultaker

답변

0

나는 python을 모르지만 jquery ajax 호출에 대해서는 data : {'id' : id}, 대신 data : {'id' : '\"'+ id + '\"'},이 문제를 해결할 것이라고 생각합니다.

문자열을 보내므로 따옴표 안에 추가해야합니다.

+0

왜 ID를 연결합니까 ?? – madalinivascu

+0

'text()'를 수행하여 id가 이미 문자열 인 경우 – madalinivascu

+0

뷰에서 문자열을받을 수 있습니다. text()가 올바르게 작동하지만 전송할 때 템플릿의 함수로 다시 보내려는 경우입니다. 나는 콘솔에서조차도, @madalinivascu가 말한 것처럼 preventdefault를 시도 할 것을 안다. 그리고 그것이 작동 하는지를 알려준다. 어쨌든 – soultaker

1

방지 기본 클릭 이벤트

$('.list li a').on('click', Filtrar); 
    function Filtrar(e){ 
    e.preventDefault(); 
    var id = $(this).text() 
    $.ajax({ 
     data : {'id' : id}, 
     url : '/filtro/', 
     type : 'get', 
     success: function(data){ 
     console.log(data); 
     } 
    }); 

    }; 

반환

return JsonResponse({'name' : carrera.name, 'age' : carrera.summary}) 
+0

위대한 시도를 하겠지만, 내가 필터링 한 모델에 포함 된 모든 객체를 보내려면 너무 효과적일까요? 고맙습니다. – soultaker

+0

어쨌든 다른 해결책이 있습니까? – soultaker

+0

무엇이 작동하지 않습니까?, ajax 또는 python 코드? – madalinivascu