我不能在Django中提交多个帖子的评论
我有一个feed,在这个feed中有帖子,每个帖子都有评论,现在我可以只为第一篇帖子提交评论,但是当我尝试到第二篇或第三篇帖子并提交评论时,这个错误会增加 ValueError:view videos.views.add_comment_帖子未返回HttpResponse对象。它没有返回任何结果 我认为POST id的问题相互冲突,所以我将所有注释字段传递给模板,同样的错误仍然发生。“此问题发生在除第一个帖子以外的任何帖子上” 我的评论意见我不能在Django中提交多个帖子的评论,django,django-models,django-views,django-templates,Django,Django Models,Django Views,Django Templates,我有一个feed,在这个feed中有帖子,每个帖子都有评论,现在我可以只为第一篇帖子提交评论,但是当我尝试到第二篇或第三篇帖子并提交评论时,这个错误会增加 ValueError:view videos.views.add_comment_帖子未返回HttpResponse对象。它没有返回任何结果 我认为POST id的问题相互冲突,所以我将所有注释字段传递给模板,同样的错误仍然发生。“此问题发生在除第一个帖子以外的任何帖子上” 我的评论意见 comment_form = PostComme
comment_form = PostCommentForm(request.POST )
if comment_form.is_valid():
user_comment = comment_form.save(commit=False)
user_comment.author = request.user
user_comment.save()
result = comment_form.cleaned_data.get('content')
user = request.user.username
return JsonResponse({'result': result, 'user': user})
我的后模特
class Post(models.Model):
author = models.ForeignKey(Account, on_delete=models.CASCADE)
article = models.TextField(null=True, blank=True)
photo_article = models.ImageField(max_length=255, upload_to=get_poster_filepath)
created_date = models.DateTimeField(auto_now_add=True)
我的评论模式
class PostCommentIDE(models.Model):
post = models.ForeignKey(Post, on_delete=models.CASCADE, related_name='ide_com')
author = models.ForeignKey(Account, on_delete=models.CASCADE)
content = models.TextField()
created_date = models.DateTimeField(auto_now_add=True)
我的意见表
class PostCommentForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
class Meta:
model = PostCommentIDF
fields = {'post', 'content'}
widgets = {
'content': forms.Textarea(attrs={'class': 'rounded-0 form-control', 'rows': '1', 'placeholder': 'Comment', 'required': 'True', })
}
def save(self, *args, **kwargs):
PostCommentIDF.objects.rebuild()
return super(PostCommentForm, self).save(*args, **kwargs)
当表单无效时,表单将返回“无”。
当表单无效时,您应该返回一些内容(例如返回错误消息)
comment_form = PostCommentForm(request.POST)
if comment_form.is_valid():
user_comment = comment_form.save(commit=False)
user_comment.author = request.user
user_comment.save()
result = comment_form.cleaned_data.get('content')
user = request.user.username
return JsonResponse({'result': result, 'user': user})
else:
# do stuff here if form is not valid
return JsonResponse({'result': 'Something went wrong.'})
如果您的表单无效,它需要一个else块,请在表单无效时添加逻辑。谢谢您的回答,我不知道为什么我可以成功地提交第一条评论,但我无法提交第二条或第三条评论检查您的comment\u表单。错误以获取错误。没有发生任何事情,但这显示在终端“post/video/post/add/comment HTTP/1.1”500 70598中`