djangodocs.org

694 sections in Django 5.2 Search all versions →

Topic guide Formsets

BaseFormSet.as_p() : Renders the formset with the template_name_p template. BaseFormSet.as_table() : Renders the formset with the template_name_table template. BaseFormSet.as_ul() : Renders the formset with the template_name_ul template.

Topic guide Working with forms Forms in Django

… the database, for example) pass it to the template context expand it to HTML markup using template variables Rendering a form in a template involves nearly the same work as rendering any other kind of object, but there are some …

ModelForm

Topic guide Creating forms from models

classModelForm[source] If you’re building a database-driven app, chances are you’ll have forms that map closely to Django models. For instance, you might have a BlogComment model, and you want to create a form that lets people submit comments.

Field types

Topic guide Creating forms from models ModelForm

As you might expect, the ForeignKey and ManyToManyField model field types are special cases: ForeignKey is represented by django.forms.ModelChoiceField, which is a ChoiceField whose choices are a model QuerySet.

A full example

Topic guide Creating forms from models ModelForm

Consider this set of models: With these models, the ModelForm subclasses above would be roughly equivalent to this (the only difference being the save() method, which we’ll discuss in a moment.):

Model formsets

Topic guide Creating forms from models

classmodels.BaseModelFormSet Like regular formsets, Django provides a couple of enhanced formset classes to make working with Django models more convenient. Let’s reuse the Author model from above: Using fields restricts the formset to use only the given fields.

Topic guide Creating forms from models Model formsets

As with a ModelForm, you can save the data as a model object. This is done with the formset’s save() method: The save() method returns the instances that have been saved to the database.

Setting test cookies

Topic guide How to use sessions

As a convenience, Django provides a way to test whether the user’s browser accepts cookies. Call the set_test_cookie() method of request.session in a view, and call test_cookie_worked() in a subsequent view – not in the same view call.

Topic guide Format localization

When formatting is enabled, Django can use localized formats when parsing dates, times and numbers in forms. That means it tries different formats for different locales when guessing the format used by the user when inputting data on forms.

Definitions

Topic guide Internationalization and localization

localization Writing the translations and local formats. Usually done by translators. More details can be found in the W3C Web Internationalization FAQ, the Wikipedia article or the GNU gettext documentation. WARNING: Translation is controlled by the USE_I18N setting.

Code

Topic guide Time zones Migration guide

Since Django now gives you aware datetimes, you’ll get exceptions wherever you compare a datetime that comes from a model or a form with a naive datetime that you’ve created in your code.

Troubleshooting

Topic guide Time zones FAQ

… your code is comparing these two things: a datetime provided by Django – for instance, a value read from a form or a model field. Since you enabled time zone support, it’s aware. a datetime generated by your code, which …

Topic guide Security in Django

This ensures that a malicious user cannot “replay” a form POST to your website and have another logged-in user unwittingly submit that form. The malicious user would have to know the secret, which is user specific (using a cookie).

Topic guide

Django’s serialization framework provides a mechanism for “translating” Django models into other formats.

Cryptographic signing

Topic guide

Ensuring data stored in hidden form fields has not been tampered with. Generating one-time secret URLs for allowing temporary access to a protected resource, for example a downloadable file that a user has paid for.

Making requests

Topic guide Testing tools The test client

After you call this method, the test client will have all the cookies and session data required to pass any login-based tests that may form part of a view.