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

我是django的新手,无法找到只刷新div的方法,div显示我目前的星级评分。 我的想法是,用户可以通过点击星标来查看平均评分并评价某些内容,点击后我希望星标显示新的平均评分而不刷新整个页面。

这是div:

{{ object.rating_vote.get_rating }} {{ object.rating_vote.get_rating }}

而javascript是:

   $(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'); }, }); } }); }); });  

有了这段代码

$('#rating').load('#rating');

我将整个页面放入div中,当我使用时

$('#rating').load('# rating');

没有星星,我只获得价值。

首先,复制

并将其保存到另一个文件中。 让我们说,

rating.html

  
{{ object.rating_vote.get_rating }} {{ object.rating_vote.get_rating }}

现在在你的页面中,它将是,

your.html

 ............ 
{% include 'rating.html' %}
............

然后,为rating.html创建new viewnew url

urls.py

 url(r'^rating/$', 'rating', name='rating'), 

views.py

 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/"); }, }); ...........