djangodocs.org

704 sections in Django dev Search all versions →

Writing validators

Reference Validators

A validator is a callable that takes a value and raises a ValidationError if it doesn’t meet some criteria. Validators can be useful for reusing validation logic between different types of fields.

Reference The Forms API

Form.errors.get_json_data(escape_html=False) Returns the errors as a dictionary suitable for serializing to JSON. Form.errors.as_json() returns serialized JSON, while this returns the error data before it’s serialized. The escape_html parameter behaves as described in Form.errors.as_json().

Reference The Forms API

classErrorList(initlist=None,error_class=None,renderer=None,field_id=None)[source] : By default, forms use django.forms.utils.ErrorList to format validation errors. ErrorList is a list like object where initlist is the list of errors. In addition this class has the following attributes and methods.

TelInput

Reference Widgets

classTelInput[source] : - input_type: 'tel' - template_name: 'django/forms/widgets/tel.html' - Renders as: <input type="tel" ...>

PasswordInput

Reference Widgets

classPasswordInput[source] : - input_type: 'password' - template_name: 'django/forms/widgets/password.html' - Renders as: <input type="password" ...>

choices

Reference Model field reference

Field.choices[source] A mapping or iterable in the format described below to use as choices for this field.

CharField

Reference Model field reference

The default form widget for this field is a TextInput. CharField has the following extra arguments: CharField.max_length : The maximum length (in characters) of the field. The max_length is enforced at the database level and in Django’s validation using MaxLengthValidator.

Built-in forms

Topic guide Using the Django authentication system

classBaseUserCreationForm[source] : A ModelForm for creating a new user. This is the recommended base class if you need to customize the user creation form. classPasswordChangeForm[source] : A form for allowing a user to change their password.

validate_max

Topic guide Formsets

If validate_max=True is passed to formset_factory(), validation will also check that the number of forms in the data set, minus those marked for deletion, is less than or equal to max_num.

validate_min

Topic guide Formsets

If validate_min=True is passed to formset_factory(), validation will also check that the number of forms in the data set, minus those marked for deletion, is greater than or equal to min_num.

The template

Topic guide Working with forms

We don’t need to do much in our name.html template: All the form’s fields and their attributes will be unpacked into HTML markup from that {{ form }} by Django’s template language.

Topic guide Creating forms from models

When overriding methods on InlineFormSet, you should subclass BaseInlineFormSet rather than BaseModelFormSet. For example, if you want to override clean(): See also Overriding clean() on a ModelFormSet. Then when you create your inline formset, pass in the optional argument formset:

Custom template options

Reference The Django admin site

Use the following options to override the default templates used by the ModelAdmin views: ModelAdmin.add_form_template : Path to a custom template, used by add_view(). ModelAdmin.change_form_template : Path to a custom template, used by change_view().

InlineModelAdmin options

Reference The Django admin site

… and adds some of its own (the shared features are actually defined in the BaseModelAdmin superclass). The shared features are: form fieldsets fields formfield_overrides delete_confirmation_max_display exclude filter_horizontal filter_vertical ordering prepopulated_fields get_exclude() get_fieldsets() get_queryset() radio_fields readonly_fields view_on_site empty_value_display autocomplete_fields raw_id_fields formfield_for_choice_field() …

Via the Python API

Reference The flatpages app

The flatpage form > used in the admin performs this validation check, and can be imported from > django.contrib.flatpages.forms.FlatpageForm and used in your own > views.

django.contrib.postgres

Reference

This optional module contains model fields and form fields for a number of PostgreSQL specific data types. NOTE: Django is, and will continue to be, a database-agnostic web framework.