我想在单击按钮时做一个喜欢按钮,模型的喜欢属性增加一。该模型如下所示:
class Post(models.Model):
author = models.ForeignKey('auth.User', on_delete=models.CASCADE)
title = models.CharField(max_length = 200)
text = models.TextField()
created_date = models.DateTimeField(default = timezone.now)
likes = models.IntegerField(default=0)
tags = models.CharField(max_length = 50, default = '' )
def process_likes(self):
print(self.likes)
self.likes += 1
def split_tags(self):
return self.tags.split()
def get_absolute_url(self):
return reverse('blog:post_list')
def __str__(self):
return self.title
我调用该方法的视图中的函数如下所示:
def print_hi(request, pk):
print('Hi there!')
post = get_object_or_404(Post, pk=pk)
post.process_likes()
return redirect('blog:post_detail', pk=post.pk)
对应于该视图函数的 url:
path('print/<int:pk>', views.print_hi, name='print_hi'),
以及我调用 url 来调用函数的锚点:
<a href="{% url 'blog:print_hi' pk=post.pk %}" class="btn">Soy un botón</a>
process_likes 方法是负责增加喜欢计数器的方法,但是当我按下按钮调用该函数时,它不会增加计数?我该如何解决这个问题?
您必须post
在调用后保存process_likes()
:
def print_hi(request, pk):
print('Hi there!')
post = get_object_or_404(Post, pk=pk)
post.process_likes()
post.save()
return redirect('blog:post_detail', pk=post.pk)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句