使用JQuery和AJAX刷新div以显示Django中的新评级

使用JQuery和AJAX刷新div以显示Django中的新评级,jquery,django,html,Jquery,Django,Html,我是django的新手,无法找到只刷新div的方法,而div显示了我当前的星级。我的想法是,用户可以通过点击星星来查看平均评分和评分,点击后我希望星星显示新的平均评分,而无需刷新整个页面 这是分区: <div id="rating"> <div class="movierating" id="o_{{ object.id }}"> <span style="display:none;">{{ object.rating_vote.get

我是django的新手,无法找到只刷新div的方法,而div显示了我当前的星级。我的想法是,用户可以通过点击星星来查看平均评分和评分,点击后我希望星星显示新的平均评分,而无需刷新整个页面

这是分区:

<div id="rating">
    <div class="movierating" id="o_{{ object.id }}">
        <span style="display:none;">{{ object.rating_vote.get_rating }}</span>
        {{ object.rating_vote.get_rating }}
    </div>
</div>

{{object.rating_vote.get_rating}
{{object.rating_vote.get_rating}
javascript是:

  <script type="text/javascript" charset="utf-8">
    $(document).ready(function() {  
         $('.movierating').each(function(index){
          $(this).raty({
            readOnly:  false,
            path: "{{ STATIC_URL }}images/",
            start: $(this).children("span:first").text(),
            click: function(score, evt) {
                var vote_url = "/rate/" + this.attr('id').substring(2) + "/" + score + "/";
                var div = this.attr('id');
                $.ajax({
                  url: vote_url,
                  success: function(){
                    alert('Vote successful!);
                $('#rating').load('#rating');
                  },
                });
            }
          });
        });
    });
  </script>

$(文档).ready(函数(){
$('.movierating')。每个(函数(索引){
美元(这个)({
只读:false,
路径:“{STATIC_URL}}images/”,
开始:$(this).children(“span:first”).text(),
点击:功能(分数、evt){
var vote_url=“/rate/”+this.attr('id')。子字符串(2)+“/”+分数+”/”;
var div=this.attr('id');
$.ajax({
url:vote_url,
成功:函数(){
警惕(‘投票成功!);
$('额定值').load('额定值');
},
});
}
});
});
});
使用此代码

$(“#额定值”)。加载(“#额定值”)

我把整个页面放到div中,当我使用

$(“#额定值”)。加载(“#额定值”)


我只得到不带星号的值。

首先,将代码复制到
中,并将其保存到另一个文件中。比方说

rating.html

 <div class="movierating" id="o_{{ object.id }}">
    <span style="display:none;">{{ object.rating_vote.get_rating }}</span>
    {{ object.rating_vote.get_rating }}
</div>
............
<div id="rating">
    {% include 'rating.html' %}
</div>
............
视图.py

url(r'^rating/$', 'rating', name='rating'),
def rating(request):
    //rating object here

    return render(request, 'rating.html', {
        //call rating object variable here
    })
最后,在ajax中

.........
$.ajax({
    url: vote_url,
    success: function(){
        alert('Vote successful!);
        $("#rating").load("/app_name/rating/");
    },
});
...........

还有一个问题,如何将id从分级对象(哪个对象是分级对象)发送到视图?在ajax中,您可以定义GET和数据来将id传递到视图。我尝试使用$('#分级').load($.GET(“/rating/”,{values:values}));其中values是id,但div没有重新加载不,这不是传递值的正确方法。如果我使用$('#rating'),则将其放在ajax中,而不是放在rating加载中。加载($.get(“/rating/”,{values:values}));我没有得到任何错误,但它不会刷新,如果我在ajax中放入$.get(“/rating/”,{values:values}),我会得到500个内部服务器错误,“在中找不到键'values'。我想不出来