djangodocs.org

689 sections across all versions Narrow to Django 6.0 (current) →

Field deconstruction

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.

Inclusion tags

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

Accessibility

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

6.0

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

Official releases

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.

FormView

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()

FormMixin

Reference Editing mixins

classdjango.views.generic.edit.FormMixin : A mixin class that provides facilities for creating and displaying forms.

ActionLocation

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 …

Output Properties

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.

The messages framework

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 …

Notes on field ordering

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.

More granular output

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.

Styling widget instances

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 …