属性を持つSong
モデルがありvotes
ます。各オブジェクトの下にVote as Favourite
ボタンが表示されます。Song
ユーザーがVote as Favourite
ボタンをクリックvotes
すると、そのオブジェクトに関連付けられた属性Song
が 1 増加し、すべてのVote as Favourite
ボタンが無効になる必要があります。
HTML
{% for song in dj_song_list %}
<div>
<p class="song"><h3><strong>{{ song.name }}</strong></h3></p>
<p><strong>Artist: </strong>{{ song.artists}}</p>
<button type="button" class="btn btn-default btn-custom" id='vote' onclick="Dajaxice.hunt.disable_button(Dajax.process)">Vote as Favourite</button>
</div>
{% endfor %}
AJAX 呼び出しに dajaxice/dajax を使用しています。これは、私のajax.pyとして思いついたものです
ajax.py
from django.utils import simplejson
from dajaxice.decorators import dajaxice_register
from dajax.core import Dajax
@dajaxice_register
def disable_button(request):
dajax = Dajax()
dajax.assign('#vote', 'disabled', 'disabled')
return dajax.json()
@dajaxice_register(method="POST")
def update_votes(request, song):
song.votes += 1
song.save()
return simplejson.dumps({'message':'Thank you for voting'})
JS
function callback(data){
alert(data.message);
}
Song
送信するオブジェクトの値を取得するにはどうすればよいupdate_votes()
ですか?
はdisable_button()
、最初の投票ボタンのみを無効にします。すべての投票ボタンを無効にするにはどうすればよいですか?
同じボタンのonclick属性を使用してupdate_votes()
両方を呼び出すにはどうすればよいですか?disable_button()