我正在创建一个视频共享应用程序。在我的视频页面上,我允许用户发表评论和删除评论。
def video_content(request, video_id):
video = get_object_or_404(Video, pk=video_id)
....
return render(
request,
'video-content.html',
context={
'video': video,
}
)
我显然在代码中省略了很多东西。
我还有一个评论处理函数
def add_comment(request, video_id):
video = get_object_or_404(Video, pk=video_id)
if request.method == 'POST' and request.user.is_authenticated:
# Get comment and save it
return HttpResponse()
在我的视频页面上,我有一个表单:
<form action="/comment/add/{{video.id}}" method="post">
<input type="text"></input>
<button type="submit">Comment</button>
</form>
所有这一切都很好。当用户输入注释并提交表单时,add_comment
函数被成功调用,就像它应该的那样,并且注释被保存。视频页面没有重新加载,这就是我想要的,但顶部栏上的URL会发生变化。我怎样才能防止这种情况发生?
答案 0 :(得分:3)
您需要做的就是将用户重定向到您想要的视图。
def add_comment(request, video_id):
video = get_object_or_404(Video, pk=video_id)
if request.method == 'POST' and request.user.is_authenticated:
# Get comment and save it
return redirect("video_content",video.id)
# return HttpResponse() # this, is not correct
return render(request,"template_name.html",{})