How-to
How to create custom model fields
Writing a field subclass
It’s used during model migrations to tell Django how to take an instance of your new field and reduce it to a serialized form - in particular, what arguments to pass to __init__() to recreate it.
How-to
How to create custom template tags and filters
Writing custom template tags
django.template.Library.inclusion_tag() Another common type of template tag is the type that displays some data by rendering another template. For example, Django’s admin interface uses custom template tags to display the buttons along the bottom of the “add/change” form pages.
Django documentation
Django offers a robust internationalization and localization framework to assist you in the development of applications for multiple languages and world regions: Overview | Internationalization | Localization | Localized web UI formatting and form input Time zones
Internals
Django’s built-in components, such as the admin interface and default form rendering, should adhere to established accessibility standards and meet our own targets for supporting specific input devices and assistive technologies.
5.2
6.0
dev
Internals
Django Deprecation Timeline
The DjangoDivFormRenderer and Jinja2DivFormRenderer transitional form renderers will be removed. Support for passing positional arguments to BaseConstraint will be removed. request will be required in the signature of ModelAdmin.lookup_allowed() subclasses. The django.db.models.sql.datastructures.Join will no longer fallback to get_joining_columns().
5.2
dev
Internals
Django’s release process
Since version 1.0, Django’s release numbering works as follows: Versions are numbered in the form A.B or A.B.C. A.B is the feature release version number. Each version will be mostly backwards compatible with the previous release.
Tutorial
We’re continuing the web-poll application and will focus on form processing and cutting down our code. NOTE: If you’re having trouble going through this tutorial, please head over to > the Getting Help section of the FAQ.
Reference
Class-based generic views - flattened index
Editing views
classFormView Attributes (with optional accessor): content_type extra_context form_class [get_form_class()] http_method_names initial [get_initial()] prefix [get_prefix()] response_class [render_to_response()] success_url [get_success_url()] template_engine template_name [get_template_names()] Methods as_view() dispatch() form_invalid() form_valid() get() get_context_data() get_form() get_form_kwargs() http_method_not_allowed() post() put() setup()
Reference
Editing mixins
classdjango.views.generic.edit.FormMixin : A mixin class that provides facilities for creating and displaying forms.
Reference
Admin actions
New in Django 6.1. classActionLocation[source] : Enum of allowed values for the location parameter of the action() decorator.
dev
Reference
The Django admin site
Overriding admin templates
Not every template in contrib/admin/templates/admin may be overridden per app or per model. The following can: actions.html app_index.html change_form.html change_form_object_tools.html change_list.html change_list_object_tools.html change_list_results.html date_hierarchy.html delete_confirmation.html object_history.html pagination.html popup_response.html prepopulated_fields_js.html search_form.html submit_line.html For those templates that cannot be overridden in this …
Reference
GEOS API
Geometry ObjectsGEOSGeometry
This output may be in the form of a string, buffer, or even another object. GEOSGeometry.ewkt : Returns the “extended” Well-Known Text of the geometry. This representation is specific to PostGIS and is a superset of the OGC WKT standard.
Reference
Quite commonly in web applications, you need to display a one-time notification message (also known as “flash message”) to the user after processing a form or some other types of user input.
Reference
The messages framework
Using messages in views and templates
classviews.SuccessMessageMixin : Adds a success message attribute to FormView based classes Example views.py: The cleaned data from the form is available for string interpolation using the %(field_name)s syntax.
Reference
PostgreSQL specific model fields
Range Fields
Django’s model and form field implementations use base classes below, and psycopg provides a register_range() to allow use of custom range types. classRangeField(**options) : Base class for model range fields. classdjango.contrib.postgres.forms.BaseRangeField : Base class for form range fields.
Reference
The “sites” framework
Example usage
… lets readers sign up to get notifications when news happens. It’s pretty basic: A reader signs up on a web form and immediately gets an email saying, “Thanks for your subscription.” It’d be inefficient and redundant to implement this sign …
Reference
… easy-to-use protection against Cross Site Request Forgeries. This type of attack occurs when a malicious website contains a link, a form button or some JavaScript that is intended to perform some action on your website, using the credentials of a …
Reference
The Forms API
Outputting forms as HTML
In the as_p(), as_ul() and as_table() shortcuts, the fields are displayed in the order in which you define them in your form class. For example, in the ContactForm example, the fields are defined in the order subject, message, contact_email, urgent.
Reference
The Forms API
The as_p(), as_ul(), and as_table() methods are shortcuts – they’re not the only way a form object can be displayed. classBoundField[source] : Used to display HTML or access attributes for a single field of a Form instance.
Reference
Widgets
Customizing widget instances
… you will need to specify additional attributes at the time when the widget object is instantiated and assigned to a form field (and perhaps add some rules to your CSS files). For example, take the following form: This form will …