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