2011-01-24 5 views
1

장고 평점을 Jquery에서 어떻게 만들 수 있습니까?Django 등급 및 Jquery 통합?

내가하려는 것은 사용자가 제품을주고 싶어하는 별을 얼마나 많이 선택하고 해당 등급을 비동기 적으로 처리하도록 허용하는 것입니다. 이것이 아마도 AJAX의 기본 기능이라는 것을 알고 있으며, 이것이 바보 같은 질문 일 경우 사과드립니다.

고맙습니다.

return HttpResponse(....) 

을 함께 :

답변

1

보통 AJAX로 전환으로 별의 수를 파악하기 위해 복잡한 알고리즘을 가질 수는 교체로 간단합니다 :

if request.is_ajax(): 
    return json_response 
else: 
    return HttpResponse(....) 

또는 필요 AJAX :

if request.is_ajax(): 
    return json_response 
else: 
    return HttpResponseForbidden('Only AJAX please!') 
,536,

그러나 내가 본 것은 here입니다. 실제 응답을 생성하기위한 일부 complext 패턴이 있습니다. 따라서 jQuery AJAX 응답 핸들러에서 응답 구문 분석을 통해 작업을 시도하거나 AddRatingView에 대한 데코레이터를 작성할 수 있습니다. 을 호출하면 Python 측에서 응답을 구문 분석하고 jQuery 친화적 인 JSON을 반환합니다.

기존의 장고 등급 코드를 많이 사용하고 싶지는 않습니다. 업그레이드 옵션을 유지해야합니다.

0

당신은 그것의 기본 아약스, 맞아,하지만 당신은

2

귀하의 질문을 이해할 수 있을지 모르겠지만 자바 측 또는 모델 측면에서 질문입니까? 자바 스크립트에서, 나는 그런 내보기에, 나는 그 요청을 캡처하는 기능이이

p = Product.objects.get(id=product_id) 
p.rating.add(score=int(request.POST['rate']), user=request.user, ip_address=request.META['REMOTE_ADDR']) 
p.save() 

을 그리고 가장 최근에 업데이트 된 날 다시 보내도록 요청을 사용하는 것이이

STARS_ELEMENT.stars({ 
    callback: function(ui, type, value){ 
     $.post('URL_ADDRESS', {rate: value}, 
      function(data){ 
       STARS_ELEMENT.stars("select",data); 
      });       
    } 

같은 것을 사용 비율 값. 그게 니가 찾고 있던거야?