首页 > 解决方案 > 如何在 Django 中向前端添加评论表单?

问题描述

我想在我的 Django 项目中添加评论表单。我已经成功地将我的评论应用程序添加到 Django 管理面板中,并且在管理面板中一切正常。我不知道如何在前端显示评论表单以及该表单以供用户使用。

模型.py

class Comment(models.Model):
post= models.ForeignKey(Tellmeyourstory,
                         on_delete=models.CASCADE,
                         related_name='comments')
user2 = models.ForeignKey(User, on_delete=models.CASCADE)

name = models.CharField(max_length=80)
email = models.EmailField()
body = models.TextField()
created = models.DateTimeField(auto_now_add=True)
updated = models.DateTimeField(auto_now=True)
active = models.BooleanField(default=True)

class Meta:
    ordering = ('created',)

def __str__(self):
    return 'Comment by {} on {}'.format(self.name, self.post)

视图.py

def detail(request,stories_id):
    stories=get_object_or_404(Tellmeyourstory, pk=stories_id)
    return render(request, 'detail.html', {'stories': stories})

标签: djangocomments

解决方案


您可以为此目的使用modelform

from django import forms

class CommentForm(forms.ModelForm):
    class Meta:
        model = Comment
        fields = '__all__'

在您查看评论表上方的导入

def index(request):
    form = CommentForm()
    context = {'form' : 'form'}
    return render(requset, 'path/to/html', context)

在您的 html 中只需像这样传递表单

{{ form }}

推荐阅读