Release notes
Django 1.2 release notes
Backwards-incompatible changes in 1.2
An undocumented regular expression for validating email addresses has been moved from django.form.fields to django.core.validators. You will need to update your imports if you are using it.
Reference
Validators
The django.core.validators module contains a collection of callable validators for use with model and form fields. They’re used internally but are available for use with your own fields, too.
Reference
Form fields
Built-in Field classes
- Validates that file data has been bound to the form. Also uses FileExtensionValidator to validate that the file extension is supported by Pillow. - Error message keys: required, invalid, missing, empty, invalid_image
Reference
Model field reference
Field types
classURLField(max_length=200,**options)[source] A CharField for a URL, validated by URLValidator. The default form widget for this field is a URLInput. Like all CharField subclasses, URLField takes the optional max_length argument. If you don’t specify max_length, a default of 200 is used.
Reference
Model field reference
Field types
It uses MinValueValidator and MaxValueValidator to validate the input based on the values that the default database supports. The default form widget for this field is a NumberInput when localize is False or TextInput otherwise.
Reference
Model field reference
Field types
… you’d use: And to store numbers up to approximately one billion with a resolution of 10 decimal places: The default form widget for this field is a NumberInput when localize is False or TextInput otherwise. NOTE: For more information about …
Index
… (RelatedManager method) - add_action() (AdminSite method) - add_arguments() (BaseCommand method) - (DiscoverRunner class method) - add_constraint() (BaseDatabaseSchemaEditor method) - add_error() (Form method) - add_field() (BaseDatabaseSchemaEditor method) - add_form_template (ModelAdmin attribute) - add_index() (BaseDatabaseSchemaEditor method) - add_item() (SyndicationFeed method) - add_item_elements() …
Topic guide
Creating forms from models
ModelForm
If you have a DateField in your model, chances are you’d want that to be represented as a DateField in your form. But ModelForm gives you the flexibility of changing the form field for a given model.
Index
… - template tag - ifchanged - template tag - IGNORABLE_404_URLS - setting - ImageField (class in django.db.models) - (class in django.forms) - ImageFile (class in django.core.files.images) - ImmediateBackend (class in django.tasks.backends.immediate) - import_epsg() (SpatialReference method) - import_proj() (SpatialReference method) - …
Topic guide
Testing tools
The test client
Serialization is performed with [`DjangoJSONEncoder`](../serialization.md#django.core.serializers.json.DjangoJSONEncoder) by default, and can be overridden by providing a `json_encoder` argument to [`Client`](#django.test.Client). This serialization also happens for [`put()`](#django.test.Client.put), [`patch()`](#django.test.Client.patch), and [`delete()`](#django.test.Client.delete) requests. If you provide any other `content_type` (e.g.
Index
… (models.User method) - EmailAlternative (class in django.core.mail) - EmailAttachment (class in django.core.mail) - EmailField (class in django.db.models) - (class in django.forms) - EmailInput (class in django.forms) - EmailMessage (class in django.core.mail) - EmailMultiAlternatives (class in django.core.mail) - EmailValidator (class in …
Index
… | | --- | --- | | - Radians (class in django.db.models.functions) - radio_fields (ModelAdmin attribute) - RadioSelect (class in django.forms) - raise_exception (AccessMixin attribute) - random - template filter - Random (class in django.db.models.functions) - RandomUUID (class in django.contrib.postgres.functions) …
Index
… (File method) - (LayerMapping method) - (Model method) - (Storage method) - save_as (ModelAdmin attribute) - save_as_continue (ModelAdmin attribute) - save_formset() (ModelAdmin method) - save_model() (ModelAdmin method) - save_on_top (ModelAdmin attribute) - save_related() (ModelAdmin method) - savepoint() (in module django.db.transaction) …
Index
… fid (Feature attribute) - field - (BoundField attribute) - Field (class in django.contrib.gis.gdal) - (class in django.db.models) - (class in django.forms) - field (ModelChoiceIterator attribute) - field lookup type - arrayfield.contained_by - arrayfield.contains - arrayfield.index - arrayfield.len - arrayfield.overlap - …
Reference
Form fields
Built-in Field classes
classEmailField(**kwargs)[source] : - Default widget: EmailInput - Empty value: Whatever you’ve given as empty_value. - Normalizes to: A string. - Uses EmailValidator to validate that the given value is a valid email address, using a moderately complex regular expression.
Reference
Form fields
Built-in Field classes
classSlugField(**kwargs)[source] : - Default widget: TextInput - Empty value: Whatever you’ve given as empty_value. - Normalizes to: A string. - Uses validate_slug or validate_unicode_slug to validate that the given value contains only letters, numbers, underscores, and hyphens.
Reference
Form fields
Built-in Field classes
classURLField(**kwargs)[source] : - Default widget: URLInput - Empty value: Whatever you’ve given as empty_value. - Normalizes to: A string. - Uses URLValidator to validate that the given value is a valid URL. - Error message keys: required, invalid
Reference
Form fields
Built-in Field classes
classDecimalField(**kwargs)[source] : - Default widget: NumberInput when Field.localize is False, else TextInput. - Empty value: None - Normalizes to: A Python decimal. - Validates that the given value is a decimal.
Reference
Form fields
Built-in Field classes
classFloatField(**kwargs)[source] : - Default widget: NumberInput when Field.localize is False, else TextInput. - Empty value: None - Normalizes to: A Python float. - Validates that the given value is a float.
Reference
PostgreSQL specific form fields and widgets
Fields
classHStoreField : A field which accepts JSON encoded data for an HStoreField. It casts all values (except nulls) to strings. It is represented by an HTML <textarea>.