2

私はdjangoを初めて使用し、divのみを更新する方法を見つけることができず、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>

そして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>

このコードで

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

ページ全体をdivに入れ、使用すると

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

星がなければ価値しかありません。

4

1 に答える 1