我有一个 django 表单,我正在尝试添加 CAPTCHA 支持。但是,这需要我将 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})
无论我在字段中输入什么,它都不会验证。事实上,它甚至看起来都不像清理田地。点击注册按钮后,我只是返回一个新的空白表格,没有错误,什么都没有。
有任何想法吗?