首页 > 解决方案 > Django - 使用循环创建表单

问题描述

我有一个名为 comments 的模型,我在模板中使用 for 循环显示它们。我希望用户能够编辑这些表单而不必进入不同的页面(有点像 Youtube 评论),但我不确定我将如何循环创建这些表单,更重要的是如何处理发布请求。

提前致谢。

模型.py

    class Comments(models.Model):
        text = models.CharField(max_length=500, default='')
        poster = models.ForeignKey(User, on_delete=models.CASCADE, null=True, blank=True)
        post = models.ForeignKey(Posts, on_delete=models.CASCADE, null=True, blank=True)
    
    def __str__(self):
        return str(self.poster) + " " + str(self.post)

Views.py(重要的部分)

comments = Comments.objects.filter(post=pst).order_by('-id')
args = {'user': request.user, 'pst': pst, 'serv': serv, 'managers': serv.managers.all(), 'form': form, 'comform': comform, 'score': score, 'comments':comments}
return render(request, 'viewpost.html', args)

标签: pythondjango

解决方案


我设法自己弄清楚了。

对于任何想知道的人,我将提交按钮的值设置为每个评论的 id。然后,当发出发布请求时,我只需使用该 ID 转到评论对象,并将带有该评论的 EditCommentForm 保存为实例。


推荐阅读