1

モデル検証のエラー メッセージをキャッチし、それをコンテキスト変数でテンプレートに送信して Web ページに出力しようとしています。しかし、それはできません。ValidationError の message_dict 属性を使用しようとする django 資料を読みましたが、そのための良い例が見つかりません。

(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 に答える