Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.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
Django:将所有表单错误消息作为单个字符串_Django_Django Forms - Fatal编程技术网

Django:将所有表单错误消息作为单个字符串

Django:将所有表单错误消息作为单个字符串,django,django-forms,Django,Django Forms,我试图在视图中以文本形式访问表单错误消息,并将其作为单个字符串使用 error_string = ' '.join(form.errors['email'].as_data()) 我得到这个错误: sequence item 0: expected str instance, ValidationError found 我该怎么办?如果要将错误字符串列表合并在一起,请使用form.errors['email'] error_string = ' '.join(form.errors['ema

我试图在视图中以文本形式访问表单错误消息,并将其作为单个字符串使用

error_string = ' '.join(form.errors['email'].as_data())
我得到这个错误:

sequence item 0: expected str instance, ValidationError found

我该怎么办?

如果要将错误字符串列表合并在一起,请使用
form.errors['email']

error_string = ' '.join(form.errors['email'])

您不想使用该方法,因为它返回的是
ValidationError
实例列表,而不是字符串

@bdoubleu-answer对我不起作用,因为它不会显示出错字段的名称,只显示错误消息

form.errors = {
    'username': 
        ['This name is reserved and cannot be registered.'], 
    'password2': 
        ['This password is too short. It must contain at least 8 characters.', 
        'This password is too common.']
}

error_string = ' '.join([' '.join(x for x in l) for l in list(form.errors.values())])

print(error_string)
>>> This name is reserved and cannot be registered. This password is too short. It must contain at least 8 characters. This password is too common.
error_string = ' '.join([' '.join(x for x in l) for l in list(form.errors.values())])

print(error_string)

>>> This field is required 
(仅显示错误,不显示字段) 如果同时需要字段和错误消息

target = list(form.errors) + list(form.errors.values())
error_string = ' '.join([l for l in target])

print(error_string)

>>> name This field is required