我想扩展现有表单,以便在提交时发送电子邮件:
class BaseForm(forms.Form):
field = forms.CharField()
def clean(self):
"do stuff"
return self.cleaned_data
class MyForm(BaseForm):
def clean_field(self):
"do some validation"
return self.cleaned_data['field']
class MyEmailingForm(MyForm):
def clean(self):
super(MyEmailingForm, self).clean()
send_mail('Form data',
self.cleaned_data['field'],
'Form <noreply@myform.co.uk>',
["formdata@myform.co.uk"],
fail_silently=True)
问题是self.cleaned_data['field']
不能从超类访问,我得到一个KeyError
。我需要做什么?你知道吗
我想我把事情简单化了。代码已经更新了,我想问题可能是双重子类。你知道吗
我相信归还自清理的\u数据只对基类有效。你知道吗
您需要从基方法和子类方法返回
self.cleaned_data
。你知道吗必须首先使用
is_valid()
方法。你知道吗https://docs.djangoproject.com/en/dev/topics/forms/
相关问题 更多 >
编程相关推荐