【发布时间】:2017-04-26 22:25:08
【问题描述】:
我想在用户帖子上创建一个喜欢/关注系统。
由于许多用户能够喜欢一个帖子并且用户能够喜欢许多帖子,我制作了 2 个单独的模型。
模型.py:
class Question(models.Model):
user= models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
title = models.TextField()
content = models.TextField()
date_published = models.DateTimeField(auto_now_add=True)
last_modified = models.DateTimeField(_('Last Edited'), auto_now=True)
slug = models.SlugField(max_length=255)
class Question_Follows(models.Model):
question = models.ForeignKey(Question, on_delete=models.CASCADE)
user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
count = models.IntegerField(default=0)
views.py
class QuestionDetailView(DetailView):
model = Question
slug = 'slug'
template_name = "questions/question_detail.html"
def get_context_data(self, **kwargs):
context = super(QuestionDetailView, self).get_context_data(**kwargs)
context['now'] = timezone.now()
#obj= Question_Follows.objects.filter(id=question.id)
#context['follow_count'] = Question_Follows.objects.filter(id='question.id')
#obj.count <----- none of these have worked so far.
return context
detailview.html:
<div id="question_container">
<input type='hidden' id="{{ object.id }}" name="id"> <--- tried this as a way to get question id -->
<h1>{{ object.title }}</h1>
<p>{{ object.content }}</p>
<p>Published: {{ object.date_published|date }}</p>
<p>Date: {{ now |date }}</p>
<button class="follow"><span id='follow-span'>Follow| <strong id='follow-count'>{{ follow_count }}</strong> </button>
</span></button>
按下“赞”按钮后,我在“收集”正确的问题时遇到问题,并且还显示了该问题的正确赞数,即每个问题的关注次数。
【问题讨论】:
-
您已将模板列为“detailview.html”,但在您的视图代码中,您已将
"questions/question_detail.html"指定为模板名称。它是哪一个?此外,在您的 detailview.html 中,您说过您尝试通过{{object.id}}获取对象 ID。看起来它应该对我有用。你在那里得到什么?