[英]How can a logged in user comment on a post? django
我编写了评论系统的代码,每当您想向帖子添加评论时,您都会被重定向到一个页面,您可以在该页面上写评论并选择您是哪个成员。
如何使用当前登录站点的用户修复成员字段?
以及如何使评论部分仅在帖子下方而不被重定向到另一个页面?
这是我的 view.py
def comment_post(request, slug):
post = get_object_or_404(Post, slug=slug)
if request.method == "POST":
form = CommentForm(request.POST)
if form.is_valid():
comment = form.save(commit=False)
comment.post = post
comment.save()
return redirect('samplepost', slug=post.slug)
else:
form = CommentForm()
return render(request, 'blogapp/comment.html', {'form': form})
这是我的models.py
class Comment(models.Model):
author = models.ForeignKey(User,on_delete=models.CASCADE, null=True)
post = models.ForeignKey(Post, on_delete=models.CASCADE, null=True, related_name='comments')
body = models.TextField()
date_created = models.DateTimeField(auto_now_add=True)
“如何使用当前登录站点的用户修复成员字段?” - 要访问当前登录的用户,请在 Django 模板中使用request.user
。 这为您提供了 User 对象。 如果您在 User 模型中有一个 username 字段,您当然可以使用request.user.username
来获取用户名。
“我怎样才能让评论部分只在帖子下方而不被重定向到另一个页面?” - 我假设您的意思是将评论部分放在帖子下方并发布评论而不重定向页面。 为此,将评论部分创建为表单内的文本区域,使用 HTML 和 CSS 将元素放置在您想要的任何位置,并使用 AJAX 请求将表单输入发布到后端。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.