Django Forms : if not valid, 显示带有错误消息的表单

标签 django django-forms

在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/

相关文章:

django - 获取表单响应,进行 api 调用,然后在 Django 中显示 api 调用

css - 如何仅使用截断或 css 显示数字

python - DRF - 过滤 2 个模型

python - 通过自定义 Func 的 Django ORM 组

python - 使用django表单从单个页面记录多条记录

python - 为什么我在 Django 中收到表单无效错误?

python - 按照第一个 Django 应用程序教程,我无法执行 runserver 命令

python - 加入 Django View

Django,表单字段的唯一ID

python - 如何将 Django 消息写入您的 View 代码