Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django,在提交表单时从另一个视图返回一个视图_Python_Django_Django Forms - Fatal编程技术网

Python Django,在提交表单时从另一个视图返回一个视图

Python Django,在提交表单时从另一个视图返回一个视图,python,django,django-forms,Python,Django,Django Forms,我在提交的页面上有一个模型表单,点击以下视图: def add_review(request, id=None): if request.method == 'POST': review_form = ReviewForm(request.POST or None) if review_form.is_valid(): # do some stuff here... return redirect('/movies/{0}'.format(id)) 当前重定向

我在提交的页面上有一个模型表单,点击以下视图:

def add_review(request, id=None):
if request.method == 'POST':
    review_form = ReviewForm(request.POST or None)
    if review_form.is_valid():
        # do some stuff here...

return redirect('/movies/{0}'.format(id))
当前重定向回我们所处的页面,这会导致任何表单错误丢失。因此,当在所述页面上时,用户不会收到任何错误消息输出来通知他们

有没有一种方法可以将任何review_form.errors传递到被重定向到的视图,或者只返回该视图而不重定向到它?这是一种观点:

def view(request, id=None):
movie = get_object_or_404(Movie, id=id)

context = Context({
    'movie': movie,
    'review_form': ReviewForm(),
    'reviews': Review.objects.filter(
        movie=movie).order_by('-created_on')[:3],
    'genres': movie.moviegenre_set.filter(movie.title),
})
return render(request, 'movies/view.html', context)
感谢您观看

虽然可以使用Django的 HttpRequest类,使用表单库处理许多 常见表单相关任务。使用它,您可以:

  • 使用自动生成的表单小部件显示HTML表单
  • 根据一组验证规则检查提交的数据

    3。在验证错误的情况下重新显示表单。

  • 将提交的表单数据转换为相关的Python数据类型
  • 要在html中显示当前表单的错误,只需执行以下操作

        {{ form.field.errors }}