我还是初学者,并尝试创建一个按钮,没有任何附件。按钮应该做的唯一事情就是将数字增加一个。有点像按钮,模型不附加任何东西。我已经尝试了几个来回的东西,使用现在的代码,我可以在管理员中添加“喜欢”,但不能在模板中的按钮上添加。
我错过了它的观点,这就是我需要帮助的地方(至少我认为)
模型
class Like(models.Model):
likes = models.IntegerField(default=0)
created = models.DateTimeField(auto_now_add=True)
HTML
<form method='POST' action=''> {% csrf_token %}
<div class='row'>
{{ like.likes }}
<input class='btn btn-success' type='submit' value='like'/>
{{ like.count }}
</div>
</form>
然后在视图中放什么?
感谢正手
答案 0 :(得分:1)
我会使用ajax而不是表单
视图
def update_like(request):
like,created = Like.objects.get_or_create(pk=1, defaults={likes=1)})
if not created:
like.likes += 1
like.save()
return HttpResponse(json.dumps(like.likes), content_type='application/json')
HTML
<script>
function update_like()
{
$.getJSON({% url 'update_like' %}, function( json ) {
}
}
</script>
<a href="#" onclick="update_like();return false">Update like</a>
URL
url(r'^/update-like/$', 'views.update_like', name='update_like'),