【问题标题】:How to add comments form to frontend in Django?如何在 Django 中向前端添加评论表单?
【发布时间】:2020-01-10 00:49:50
【问题描述】:

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

models.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)

views.py

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

【问题讨论】:

  • 您定义一个ModelForm(或至少一个表单),然后渲染该表单。

标签: django comments


【解决方案1】:

您可以为此目的使用模型表单

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 }}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多