Python 更新Django对象字段而不刷新页面
如何调用在不刷新页面的情况下更改对象字段的视图函数 视图.pyPython 更新Django对象字段而不刷新页面,python,django,Python,Django,如何调用在不刷新页面的情况下更改对象字段的视图函数 视图.py def add_like(request, pk): book = Book.objects.get(pk=pk) book.like = True book.save() return redirect('book_list') url(r'^add_like/(?P<pk>[0-9]+)/$', views.add_like, name='add_like'), url.py de
def add_like(request, pk):
book = Book.objects.get(pk=pk)
book.like = True
book.save()
return redirect('book_list')
url(r'^add_like/(?P<pk>[0-9]+)/$', views.add_like, name='add_like'),
url.py
def add_like(request, pk):
book = Book.objects.get(pk=pk)
book.like = True
book.save()
return redirect('book_list')
url(r'^add_like/(?P<pk>[0-9]+)/$', views.add_like, name='add_like'),
url(r'^add_like/(?P[0-9]+)/$),views.add_like,name='add_like'),
list.html
[...]
<td><a href="{% url 'add_like' pk=book.pk %}" class="btn btn-default"><span class="glyphicon glyphicon-heart" style="color: grey;"></span></a></td>
[...]
[…]
[...]
用户单击按钮后,我想将like状态和标记内容更改为:
<td><a href="{% url 'remove_like' pk=book.pk %}" class="btn btn-default"><span class="glyphicon glyphicon-heart" style="color: red;"></span></a></td>
我知道Ajax可能是答案,但我不知道如何实现它
谢谢。代替
使用一个输入并给它一个ID,如
然后调用AJAX函数
<script>
$(".book").on('click', function () {
var id = $(this).val();
$.ajax({
url: '/add_like/',
data: {
'pk': id
},
dataType: 'json',
success: function (data) {
if (data) {
alert(data);
}
}
});
});
</script>
类似Ajax的方法是imhoOk的唯一方法,你能给我举个例子吗?我说我不知道怎么做:谢谢你的回答,但是有了这段代码,我看不到心形符号图标;相反,我在输入中看到了图书id号。另一件事是,如果我不刷新页面,图标的颜色不会改变。