Form fields

dynamic_forms.formfields.format_display_label(cls_name)
dynamic_forms.formfields.load_class_from_string(cls_string)

DynamicFormFieldRegistry

class dynamic_forms.formfields.DynamicFormFieldRegistry(object)
get(key)
get_as_choices()

Changed in version 0.3: Returns a generator instead of a list

Returns a generator that yields all registered dynamic form fields as 2-tuples in the form (key, display_label).

register(cls)
unregister(key)
dynamic_forms.formfields.formfield_registry

New in version 0.3: Use this instead of dynamic_form_field_registry

dynamic_forms.formfields.dynamic_form_field_registry

Deprecated since version 0.3: Deprecated in favor of formfield_registry

@dynamic_forms.formfields.dynamic_form_field(cls)

A class decorator to register the class as a dynamic form field in the DynamicFormFieldRegistry.

Base Form Field Classes

DFFMetaclass

class dynamic_forms.formfields.DFFMetaclass

Metaclass that inspects the Meta class of a class inheriting from BaseDynamicFormField and merges the different attributes that are later being passed to the respective django.forms.Field.

You are free to add an attribute _exclude of type list or tuple to the Meta class of a field to exclude any attributes inherited from a super DynamicFormField. Look at the implementation of the BooleanField for an example.

BaseDynamicFormField

class dynamic_forms.formfields.BaseDynamicFormField
cls

None

display_label

None

widget

None

options
class Meta
help_text

[six.string_types, ‘’, (forms.CharField, forms.Textarea)]

required

[bool, True, forms.NullBooleanField]

dynamic_forms.formfields.__init__(name, label, widget_attrs={}, **kwargs)
dynamic_forms.formfields.__str__()
dynamic_forms.formfields.__unicode__()
dynamic_forms.formfields.construct([**kwargs])
dynamic_forms.formfields.contribute_to_form(form)
dynamic_forms.formfields.get_display_label()

Returns a class’s display_label is defined or calls format_display_label() with the class’s name.

This function is only available to the class itself. It is not callable from an instance.

dynamic_forms.formfields.get_widget_attrs()
dynamic_forms.formfields.set_options([**kwargs])
dynamic_forms.formfields.options_valid()
classmethod dynamic_forms.formfields.do_display_data()

Default: True

Default Fields

class dynamic_forms.formfields.BooleanField
cls

'django.forms.BooleanField

display_label

'Boolean

class Meta
_exclude

('required',)

class dynamic_forms.formfields.ChoiceField
cls

'django.forms.ChoiceField

display_label

'Choices

class Meta
choices

[six.string_types, ‘’, (forms.CharField, forms.Textarea)]

dynamic_forms.formfields.construct([**kwargs])
dynamic_forms.formfields.options_valid()
class dynamic_forms.formfields.DateField
cls

'django.forms.DateField

display_label

'Date

class Meta
localize

[bool, True, forms.NullBooleanField]

class dynamic_forms.formfields.DateTimeField
cls

'django.forms.DateTimeField

display_label

‘Date and Time’

class Meta
localize

[bool, True, forms.NullBooleanField]

class dynamic_forms.formfields.EmailField
cls

'django.forms.EmailField

display_label

'Email

class dynamic_forms.formfields.IntegerField
cls

'django.forms.IntegerField

display_label

'Integer

class Meta
localize

[bool, True, forms.NullBooleanField]

max_value

[int, None, forms.IntegerField]

min_value

[int, None, forms.IntegerField]

class dynamic_forms.formfields.MultiLineTextField
cls

'django.forms.CharField

display_label

'Multi Line Text

widget

'django.forms.widgets.Textarea

class dynamic_forms.formfields.SingleLineTextField
cls

'django.forms.CharField

display_label

'Single Line Text

class Meta
max_length

[int, None, forms.IntegerField]

min_length

[int, None, forms.IntegerField]

class dynamic_forms.formfields.TimeField
cls

'django.forms.TimeField

display_label

'Time

class Meta
localize

[bool, True, forms.NullBooleanField]