Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/312.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 - Fatal编程技术网

Python 如何在Django中显示一个表单错误

Python 如何在Django中显示一个表单错误,python,django,Python,Django,我的模板中有这个,我只想显示用户名错误,而不是所有表单错误 {% for field in form %} {% for error in field.errors %} <div class="row"> <div class="small-12 columns val-error-msg error margin-below"> {{ error }} </d

我的模板中有这个,我只想显示用户名错误,而不是所有表单错误

{% for field in form %}
    {% for error in field.errors %}
        <div class="row">
            <div class="small-12 columns val-error-msg error margin-below">
                {{ error }}
            </div>
        </div>
    {% endfor %}
{% endfor %}
{%用于表单%]中的字段
{%字段中有错误。错误%}
{{error}}
{%endfor%}
{%endfor%}

您可以使用
form.field\u name.errors

比如:

{%if form.username.errors%}
{{form.username.errors}
#或
#{{form.username.errors.as_text}
#这将删除django默认生成的`
    `标记 {%endif%}
    任何字段都附带了
    。错误
    。但请注意,每个字段都可能包含多个错误(例如,密码可能太短,并且包含非法符号)

    您可以通过
    {{form.field.errors}}
    访问这些错误,但您已经获得了这些元素。如果您希望在模板中筛选以仅显示
    用户名
    字段的错误,则可以使用
    {%if…%}
    语句执行此操作:

    {% for field in form %}
        {% if field.name == "username" %}
        {% for error in field.errors %}
            <div class="row">
                <div class="small-12 columns val-error-msg error margin-below">
                    {{ error }}
                </div>
            </div>
        {% endfor %}
        {% endif %}
    {% endfor %}
    {%用于表单%]中的字段
    {%if field.name==“username”%}
    {%字段中有错误。错误%}
    {{error}}
    {%endfor%}
    {%endif%}
    
    {%endfor%}
    它起作用了,但是我怎么能忽略这个字段是必需的。error@ChamsAgouni:通过将表单中的
    required
    选项设置为
    False
    。为什么要在模板中忽略这一点?这是错误的地方,因为没有显示错误,不会突然得到验证的形式。因为我想这样做jquery@ChamsAgouni,正如Willem Van Onsem所说,您可以通过将
    required=False
    设置为所需字段来忽略所需内容。让Jquery这样做不是一个好主意,因为用户可以通过浏览器中的
    Inspect元素
    轻松编辑表单。除非jquery在提交表单之前检查需求,否则所有的逻辑都必须转到后端,Django还将检查如何将此字段改为用户名字段
    {% for field in form %}
        {% if field.name == "username" %}
        {% for error in field.errors %}
            <div class="row">
                <div class="small-12 columns val-error-msg error margin-below">
                    {{ error }}
                </div>
            </div>
        {% endfor %}
        {% endif %}
    {% endfor %}