1

djangoのデフォルトのバリデータから返されるすべてのエラーメッセージは、ドット(。)で終わります。最後のドットをすべてのメッセージからグローバルに削除する方法はありますか?Django rest framework:エラー応答フォーマットをグローバルに変更する方法

または、これらの関数を返すエラーをキャッチする方法を見つけ出す助けがあれば、そのセクションに最後のドットがある場合はトリミングできます。

サンプルエラーメッセージ。あなたがそれらのすべてを変更したい場合は

{ 
    "email": [ 
    "This field may not be blank." 
    ] 
} 


{ 
    "email": [ 
    "Enter a valid email address." 
    ] 
} 

答えて

1

、あなたはアプリケーションの初期化のどこかで、フィールドのデフォルトのメッセージをオーバーライドする必要があります。

serializers.CharField.default_error_messages['blank'] = 'This field may not be blank' 

たとえば、空白のメッセージを見つけることができるhere

+0

これは機能します。しかし、私はこれをすべてのシリアライザに追加する必要があります。それをグローバルに設定する方法はありますか? –

+0

上記のコードサンプルのシリアライザはrest_frameworkのシリアライザである必要があり、* CharFieldごとに*適用されます。 – Linovia

2

Restframeworkの例外ハンドラを使用することができます。 lookをお持ちください。

関連する問題