在Django forms中,它可以检查表单是否有效:
if form.is_valid():
return HttpResponseRedirect('/thanks/')
但是我不知道如果它无效该怎么办?如何返回带有错误消息的表单?我在任何示例中都没有看到“else”。
最佳答案
如果您在表单无效时呈现相同的 View ,那么在模板中您可以 access the form errors using form.errors
.
{% if form.errors %}
{% for field in form %}
{% for error in field.errors %}
<div class="alert alert-danger">
<strong>{{ error|escape }}</strong>
</div>
{% endfor %}
{% endfor %}
{% for error in form.non_field_errors %}
<div class="alert alert-danger">
<strong>{{ error|escape }}</strong>
</div>
{% endfor %}
{% endif %}
一个例子:
def myView(request):
form = myForm(request.POST or None, request.FILES or None)
if request.method == 'POST':
if form.is_valid():
return HttpResponseRedirect('/thanks/')
return render(request, 'my_template.html', {'form': form})
关于Django Forms : if not valid, 显示带有错误消息的表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14647723/