0

次のコード スニペットがあります。

    if form.is_valid():
        new_user = form.save()
        return HttpResponseRedirect("/books/")
    else:
        print "invalid form"

現在、「無効なフォーム」を出力しています。フォームで実際に無効なものを特定するために、さらにデバッグを行うにはどうすればよいですか?

4

1 に答える 1

0

フォームのフィールドに関連するエラーの場合:

for field, error in form.errors.items():
    print field, error

フォームには、フィールドに関連付けられていないエラーが含まれている場合もあります。

Form.clean() オーバーライドによって発生したエラーは、特にどのフィールドにも関連付けられないことに注意してください。これらは、必要に応じて non_field_errors() メソッドを介してアクセスできる特別な「フィールド」( allと呼ばれる) に入ります。フォームの特定のフィールドにエラーを添付する場合は、フォームの _errors 属性にアクセスする必要があります。これについては後述します。

あなたが使用することができます:

for error in form.non_field_errors():
    print error

それらを印刷する

于 2013-05-26T09:37:21.240 に答える