单击一个简单按钮可将数字增加一个

时间:2014-04-12 16:02:27

标签: python django

我还是初学者,并尝试创建一个按钮,没有任何附件。按钮应该做的唯一事情就是将数字增加一个。有点像按钮,模型不附加任何东西。我已经尝试了几个来回的东西,使用现在的代码,我可以在管理员中添加“喜欢”,但不能在模板中的按钮上添加。

我错过了它的观点,这就是我需要帮助的地方(至少我认为)

模型

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> 

然后在视图中放什么?

感谢正手

1 个答案:

答案 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'),