一尘不染

Django表单:如果无效,则显示带有错误消息的表单

django

我是Django表单,它可以检查表单是否有效:

if form.is_valid(): 
    return HttpResponseRedirect('/thanks/')

但是我错过了如果无效的怎么办?如何返回带有错误消息的表格?我没有在任何示例中看到“其他”。


阅读 627

收藏
2020-03-27

共1个答案

一尘不染

如果在表单无效时呈现相同的视图,则可以在模板中使用来访问表单错误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_to_response('my_template.html', {'form': form})
2020-03-27