我在提交的页面上有一个modelForm,点击以下视图:
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)
由于
答案 0 :(得分:1)
查看doc
虽然可以使用Django来处理表单提交 HttpRequest类,使用表单库来处理一些 常见的形式相关任务。使用它,您可以:
- 使用自动生成的表单小部件显示HTML表单。
根据一组验证规则检查提交的数据。
第3。在验证错误的情况下重新显示表单。
- 将提交的表单数据转换为相关的Python数据类型。
醇>
要在html中显示当前表单错误,您只需执行此操作
{{ form.field.errors }}