CAPTCHA サポートを追加しようとしている django フォームがあります。ただし、これには request.session をフォームに渡す必要があります。それを達成するために、このコンストラクターをフォームに追加しました。
def __init__(self, request=None, *args, **kwargs):
super(RegistrationForm, self).__init__(*args, **kwargs)
self.request = request
次に、リクエスト オブジェクトを渡して RegistrationForm をインスタンス化します。ただし、フォームを送信すると、どのフィールドも消去されません。検証に失敗し、空白のフィールドをテンプレートに返します。失敗する登録コードは次のとおりです。
if request.method == 'POST':
form = RegistrationForm(request.POST)
if form.is_valid():
...do registration...
else:
return render(request, 'template.htm', {'form': form})
フィールドに何を入力しても、検証されません。実際、畑を掃除しているようにも見えません。登録ボタンを押した後、新しい空白のフォームが返されましたが、エラーも何もありません。
何か案は?