1

我正在尝试捕获模型验证的错误消息,然后通过上下文变量将其发送到模板以将其打印在网页上。但是做不到。我读了 django 材料,说尝试使用 ValidationError 的 message_dict 属性,但找不到很好的例子。

(django 参考 https://docs.djangoproject.com/en/1.5/ref/models/instances/#django.db.models.Model.full_clean

下面是我的代码的一部分。

        try:
            user.full_clean()
        except ValidationError as e:

            email_error_message = e.message_dict['email']
            nickname_error_message = e.message_dict['nickname']

            return render(request, 'welcome/register.html', {'email_error_message' :   
                 email_error_message, 'nickname_error_message' : nickname_error_message})

我怎样才能使它成为可能?提前致谢 :)

4

1 回答 1

0

message_dict 值是错误消息列表,而不仅仅是单个错误消息,因此您需要加入消息。

try:
    user.full_clean()
except ValidationError as e:

    email_error_message = ','.join(e.message_dict['email'])
    nickname_error_message = ', '.join(e.message_dict['nickname'])

    return render(request, 'welcome/register.html', {'email_error_message' :   
         email_error_message, 'nickname_error_message' : nickname_error_message})
于 2014-05-09T06:17:12.407 回答