Reference Form fields Slightly complex built-in Field classes
- Validates that the given value is a datetime.datetime or string formatted in a particular datetime format. - Error message keys: required, invalid, invalid_date, invalid_time
717 sections in Django dev Search all versions →
Reference Form fields Slightly complex built-in Field classes
- Validates that the given value is a datetime.datetime or string formatted in a particular datetime format. - Error message keys: required, invalid, invalid_date, invalid_time
Reference Form fields Fields which handle relationships
classModelMultipleChoiceField(**kwargs)[source] : - Default widget: SelectMultiple - Empty value: An empty QuerySet (self.queryset.none()) - Normalizes to: A QuerySet of model instances. - Validates that every id in the given list of values exists in the queryset.
Reference Form fields Fields which handle relationships
By default, ModelChoiceField and ModelMultipleChoiceField use ModelChoiceIterator to generate their field choices. When iterated, ModelChoiceIterator yields 2-tuple choices containing ModelChoiceIteratorValue instances as the first value element in each choice.
Reference Form fields Fields which handle relationshipsIterating relationship choices
classModelChoiceIterator(field)[source] : The default class assigned to the iterator attribute of ModelChoiceField and ModelMultipleChoiceField. An iterable that yields 2-tuple choices from the queryset.
Reference Form fields Fields which handle relationshipsIterating relationship choices
classModelChoiceIteratorValue(value,instance)[source] : Two arguments are required:
Topic guide Form Assets (the Media class) Assets as a static definition
A boolean defining inheritance behavior for Media declarations. By default, any object using a static Media definition will inherit all the assets associated with the parent widget. This occurs regardless of how the parent defines its own requirements.
Topic guide Form Assets (the Media class)
If you need to perform some more sophisticated manipulation of asset requirements, you can define the media property directly. This is done by defining a widget property that returns an instance of forms.Media.
Topic guide Form Assets (the Media class)
Topic guide Form Assets (the Media class) Paths in asset definitions
String paths used to specify assets can be either relative or absolute. If a path starts with /, http:// or https://, it will be interpreted as an absolute path, and left as-is.
Topic guide Form Assets (the Media class) Paths in asset definitions
Assets may also be object-based, using Script or Stylesheet.
Topic guide Form Assets (the Media class) Media objects
If you only want files of a particular type, you can use the subscript operator to filter out a medium of interest.
Topic guide Form Assets (the Media class) Media objects
Media objects can also be added together. When two Media objects are added, the resulting Media object contains the union of the assets specified by both:
Topic guide Form Assets (the Media class) Media objects
The order in which assets are inserted into the DOM is often important. For example, you may have a script that depends on jQuery.
Reference The form rendering API Built-in-template form renderers
Templates for the built-in widgets are located in django/forms/jinja2 and installed apps can provide templates in a jinja2 directory. To use this backend, all the forms and widgets in your project and its third-party apps must have Jinja2 templates.
Reference The form rendering API
Formset templates receive a context from BaseFormSet.get_context(). By default, formsets receive a dictionary with the following values: formset: The formset instance.
Reference The form rendering API
Field templates receive a context from BoundField.get_context(). By default, fields receive a dictionary with the following values: field: The BoundField.
Reference The form rendering API
This is a dictionary that contains values like: name value attrs is_hidden template_name Some widgets add further information to the context. For instance, all widgets that subclass Input defines widget['type'] and MultiWidget defines widget['subwidgets'] for looping purposes.
Reference The form rendering API
BaseFormSet.template_name To override formset templates, you must use the TemplatesSetting renderer. Then overriding formset templates works the same as overriding any other template in your project.
Reference The form rendering API
Field.template_name To override field templates, you must use the TemplatesSetting renderer. Then overriding field templates works the same as overriding any other template in your project.
Reference The form rendering API
Built-in widget templates are stored in the django/forms/widgets path. You can provide a custom template for input.html by defining django/forms/templates/django/forms/widgets/input.html, for example. See Built-in widgets for the name of each widget’s template.