2
wtforms의 기본 필드 클래스에서 하위 클래스를 만들려고합니다.WTForms 필드 하위 클래스는 어떻게 만듭니 까?
class MyForm(Form):
fieldName = MyField('field name')
과 MyField 다른 파일
class MyField(TextField):
def __init__(self):
super(MyField, self).__init__(**kwargs)
에서 수입하지만 난 MyForm을 여기에서 유래 만들 때 몇 가지 오류가 있습니다 :
In [5]: f = MyForm()
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
path/<ipython-input-5-decc3699f7c4> in <module>()
----> 1 f = RegistrationForm()
path/wtforms/form.pyc in __call__(cls, *args, **kwargs)
176 fields.sort(key=lambda x: (x[1].creation_counter, x[0]))
177 cls._unbound_fields = fields
--> 178 return type.__call__(cls, *args, **kwargs)
179
180 def __setattr__(cls, name, value):
path/wtforms/form.pyc in __init__(self, formdata, obj, prefix, **kwargs)
222 of a matching keyword argument to the field, if one exists.
223 """
--> 224 super(Form, self).__init__(self._unbound_fields, prefix=prefix)
225
226 for name, field in iteritems(self._fields):
pathwtforms/form.pyc in __init__(self, fields, prefix)
37
38 for name, unbound_field in fields:
---> 39 field = unbound_field.bind(form=self, name=name, prefix=prefix, translations=translations)
40 self._fields[name] = field
41
path/wtforms/fields/core.pyc in bind(self, form, name, prefix, translations, **kwargs)
299
300 def bind(self, form, name, prefix='', translations=None, **kwargs):
--> 301 return self.field_class(_form=form, _prefix=prefix, _name=name, _translations=translations, *self.args, **dict(self.kwargs, **kwargs))
302
303 def __repr__(self):
TypeError: __init__() got an unexpected keyword argument '_form'
은 내가 _form 필드가 아닌 가정 올바르게 인스턴스화됩니다. 아이디어가 있습니까? 감사합니다.
게시 한 내용은 간단히 작동 할 수 없으며 그 위에는 명시된 오류가 생성 될 수 없습니다 (그렇게까지는 가지 않을 것입니다). 우선, 정의하기 전에 MyField를 인스턴스화하려고합니다. 이 문제를 해결하면 매개 변수를 전달하지만 매개 변수를 허용하지 않습니다. 이 두 가지 모두 부모 클래스를 호출하기 전에 언급 한 오류 이외의 오류를 유발합니다. 실제로 * 당신이 물어보고있는 오류를 게시하는 코드를 게시하십시오. * – kindall
MyField 클래스가 다른 파일에 정의되어 있습니다. 나는 그 지위를 편집했다. – d3m