【问题标题】:like and comment section: in django喜欢和评论部分:在 django
【发布时间】:2020-04-13 08:55:49
【问题描述】:

我想在我的博客项目中添加一些喜欢和评论部分的信息,比如不。喜欢和 cmets 并且还显示在 django 项目中对其发表评论但不知道如何评论的用户。 它是一个简单的博客,所以我只想要一个喜欢按钮和一个评论按钮,在上面它需要显示该帖子有多少喜欢和评论,并且至少需要在下面显示一条评论,就像普通博客一样 她是我的html代码:

{% for post in post %}
<article class="media mt-4">
<div class="media-body">
    <img class="rounded-circle article-img" id="dp" src="{{ post.author.profile.image.url }}">
    <div class="article-metadata">
        <a class="mr-2" href="{% url 'Love Travel-User' post.author.username %}">{{ post.author }}</a>
        <small class="text-muted">{{ post.date_posted|date:"F d, Y" }}</small>
    </div>
    <h2><a class="article-title" href="{% url 'User-Posts-Details' post.id %}">{{ post.title }}</a></h2>
    <img src="{{ post.img.url }}" class="article-img">
    <p class="article-content">{{ post.content }}</p>
</div>
</article>
{% endfor %}

views.py

class PostListViews(ListView):
    model = Post
    template_name = 'userpost/posts.html'
    context_object_name = 'post'
    ordering = ['-date_posted']
    paginate_by = 7

models.py

class Post(models.Model):
    title= models.CharField(max_length=100)
    img = models.ImageField(upload_to='pics')
    content = models.TextField()
    date_posted = models.DateTimeField(default=timezone.now)
    author= models.ForeignKey(User,on_delete=models.CASCADE)

    def __str__(self):
        return self.title

    def get_absolute_url(self):
        return reverse('User-Posts-Details', kwargs={'pk': self.pk})

感谢任何帮助

【问题讨论】:

  • likes 和 cmets 是否应该出现在您的列表视图中?您还可以通过示例说明您想要显示的信息吗?
  • 嗯,它是一个博客,所以我只想要一个赞按钮和一个评论按钮,在上面它需要显示该帖子有多少赞和评论,并且至少需要在下面显示一条评论,就像一个普通的博客有
  • 请更加关注您的问题,展示您尝试过的内容以及遇到的问题。
  • 我只想为我的博客文章添加评论和点赞部分,就像所有网站都有的一样,例如 facebook、instagram

标签: python django django-views


【解决方案1】:

我不会给出代码,但我会解释如何做。

我会在 cmets 部分帮助你。

您必须创建一个带有外键的模型评论链接才能发布模型。这将允许您创建评论对象,然后您将能够将它们存储在您的数据库中并显示它们。

对于视图,我更喜欢基于函数的视图,这对你来说会更容易。

您必须创建一个 ModelForm。为了简化 cmets 的创建,您应该创建另一个 html 页面。

我希望它很清楚, 如果您有任何问题,请不要犹豫!

【讨论】:

  • 好的,我可以创建模型,我需要在其中放置用户的用户名和评论,如文本字段,然后我需要将它与带有外键的帖子模型链接,并且在视图中我需要创建基于函数的视图来解决它。但是我应该在表单中写什么,而不应该在帖子所在的同一个 html 中写?
  • 我还有一个用于发布详细信息的 html,我应该放在那里吗?
  • 在帖子详细信息中,您可以显示指向您帖子的 cmets 链接。但是要创建新评论,我建议您使用类似的内容:comment_create.html,我发现这种方式更容易。你的评论模型应该是这样的: class Comment(models.Model): post = models.ForeignKey('blog.Post',related_name='cmets', on_delete=models.CASCADE) author = models.CharField(max_length= 200) text = models.TextField() def get_absolute_url(self): return reverse('post_list')
  • 好吧好吧谢谢你。你能告诉我我应该在表格中写什么吗?
  • class CommentForm(forms.ModelForm): class Meta(): model = Comment fields = ('author','text') 这就是你应该在 forms.py 上写的内容!如果您的问题得到解决,您可以检查我的答案!如果您还有其他问题,我正在倾听,抱歉,如果您愿意,我无法在评论中编写更好的代码,我可以更新我的答案
猜你喜欢
  • 2013-05-26
  • 2016-11-13
  • 1970-01-01
  • 2016-03-24
  • 1970-01-01
  • 2013-11-05
  • 1970-01-01
  • 1970-01-01
  • 2018-04-14
相关资源
最近更新 更多