Extending FieldmakerΒΆ
To register a new field:
from fieldmaker.fields import BaseFieldForm, BaseField
from fieldmaker.resources import field_registry
class URLFieldForm(BaseFieldForm):
max_length = forms.IntegerField(required=False)
min_length = forms.IntegerField(required=False)
verify_exits = forms.BooleanField(initial=False, required=False)
validator_user_agent = forms.CharField(required=False)
class URLField(BaseField):
form = URLFieldForm
field = forms.URLField
identities = ['URLField']
field_registry.register_field('URLField', URLField)
To register a new widget:
from fieldmaker.widgets import BaseWidgetForm, BaseWidget
from fieldmaker.resources import field_registry
class PasswordInputWidgetForm(BaseWidgetForm):
render_value = forms.BooleanField(required=False, initial=True)
class PasswordInput(BaseWidget):
widget = widgets.PasswordInput
identities = ['CharField']
field_registry.register_widget('PasswordInput', PasswordInput)