Django Framework

  1. Forms
    1. Building a Form in Django
      1. Form Classes vs. HTML Forms
        1. Creating a Form Class
          1. Form Inheritance
          2. The `Form` Class
            1. Defining Fields
              1. Field Types and Options
                1. Initial Values
                  1. Form Validation
                  2. The `ModelForm` Class
                    1. Linking Forms to Models
                      1. Customizing ModelForms
                        1. Meta Class Options
                          1. `model`
                            1. `fields`
                              1. `exclude`
                                1. `widgets`
                                  1. `labels`
                                    1. `help_texts`
                                      1. `error_messages`
                                      2. Saving ModelForms
                                      3. Form Fields and Widgets
                                        1. Built-in Field Types
                                          1. `CharField`
                                            1. `EmailField`
                                              1. `URLField`
                                                1. `IntegerField`
                                                  1. `FloatField`
                                                    1. `DecimalField`
                                                      1. `BooleanField`
                                                        1. `ChoiceField`
                                                          1. `MultipleChoiceField`
                                                            1. `DateField`
                                                              1. `DateTimeField`
                                                                1. `TimeField`
                                                                  1. `FileField`
                                                                    1. `ImageField`
                                                                    2. Built-in Widgets
                                                                      1. `TextInput`
                                                                        1. `Textarea`
                                                                          1. `PasswordInput`
                                                                            1. `HiddenInput`
                                                                              1. `EmailInput`
                                                                                1. `URLInput`
                                                                                  1. `NumberInput`
                                                                                    1. `CheckboxInput`
                                                                                      1. `Select`
                                                                                        1. `SelectMultiple`
                                                                                          1. `RadioSelect`
                                                                                            1. `CheckboxSelectMultiple`
                                                                                              1. `DateInput`
                                                                                                1. `DateTimeInput`
                                                                                                  1. `TimeInput`
                                                                                                    1. `FileInput`
                                                                                                      1. `ClearableFileInput`
                                                                                                      2. Custom Widgets
                                                                                                        1. Creating Widget Classes
                                                                                                          1. Widget Media
                                                                                                          2. Widget Attributes
                                                                                                            1. HTML Attributes
                                                                                                              1. CSS Classes
                                                                                                            2. Rendering Forms in Templates
                                                                                                              1. Using `{{ form }}` and `{{ form.as_p }}`
                                                                                                                1. Using `{{ form.as_table }}` and `{{ form.as_ul }}`
                                                                                                                  1. Customizing Form Layout
                                                                                                                    1. Rendering Individual Fields
                                                                                                                      1. Form Errors
                                                                                                                        1. Non-Field Errors
                                                                                                                        2. Form Validation
                                                                                                                          1. Built-in Validators
                                                                                                                            1. `validate_email`
                                                                                                                              1. `validate_slug`
                                                                                                                                1. `validate_unicode_slug`
                                                                                                                                  1. `validate_ipv4_address`
                                                                                                                                    1. `validate_ipv6_address`
                                                                                                                                      1. `validate_comma_separated_integer_list`
                                                                                                                                      2. Custom Validation Methods
                                                                                                                                        1. `clean()`
                                                                                                                                          1. `clean_<fieldname>()`
                                                                                                                                          2. Handling Validation Errors
                                                                                                                                            1. `ValidationError`
                                                                                                                                              1. Error Messages
                                                                                                                                                1. Error Codes
                                                                                                                                                2. Cross-Field Validation
                                                                                                                                                3. Handling Form Data in Views
                                                                                                                                                  1. Processing GET and POST Requests
                                                                                                                                                    1. Accessing Cleaned Data
                                                                                                                                                      1. Form Binding
                                                                                                                                                        1. Redirecting After Submission
                                                                                                                                                          1. Form Wizards
                                                                                                                                                          2. Formsets
                                                                                                                                                            1. Creating Formsets
                                                                                                                                                              1. Model Formsets
                                                                                                                                                                1. Inline Formsets
                                                                                                                                                                  1. Formset Validation
                                                                                                                                                                    1. Extra Forms