我是Django的新手,但我仍然不了解重定向的工作原理。现在,我使用这种方式进行重定向。return HttpResponseRedirect(reverse_lazy('main:index'))并且这种方式有效。现在,我要创建另一个页面,我要做的就是在提交表单数据后重定向到同一页面。view.py就是这样def add_comment(request, pk): entry = Entry.objects.get(id=pk) if request.method != 'POST': form = CommentForm() else: form = CommentForm(request.POST) if form.is_valid(): new_comment = form.save(commit=False) new_comment.user = request.user new_comment.save() return redirect('add_comment', pk=entry.id) return render(request, 'main/add_comment.html', {'form': form, 'entry': entry, 'comments': comments})urls.py就是这样path('add_comment/<int:pk>', views.add_comment, name='add_comment'),我可以进入此页面,但是在提交表单后,会发生此错误。NoReverseMatch位于/ add_comment / 5找不到'add_comment'的反向按钮。“ add_comment”不是有效的视图函数或模式名称。要求网址:http : //127.0.0.1 : 8000/add_comment/5即使我可以进入该URL页面,也无法重定向到同一页面。我怎么会这样呢?另外,推荐的重定向到页面的方法是什么?
添加回答
举报
0/150
提交
取消