0
0
Djangoframework~5 mins

Fieldsets for form layout in Django

Choose your learning style9 modes available
Introduction

Fieldsets help organize form fields into groups with a title. This makes forms easier to read and fill out.

When you want to group related form fields under a heading.
When your form has many fields and you want to break it into sections.
When you want to improve form accessibility by using semantic grouping.
When you want to customize the admin form layout in Django admin.
When you want to visually separate parts of a form for clarity.
Syntax
Django
class MyModelAdmin(admin.ModelAdmin):
    fieldsets = (
        ('Section Title', {
            'fields': ('field1', 'field2'),
            'description': 'Optional description for this section',
        }),
        ('Another Section', {
            'fields': ('field3', 'field4'),
        }),
    )

Each tuple in fieldsets has a title and a dictionary of options.

The fields key lists the fields shown in that section.

Examples
A simple fieldset with one section grouping three fields.
Django
fieldsets = (
    ('Personal Info', {
        'fields': ('first_name', 'last_name', 'email')
    }),
)
Two sections with a description on the second one.
Django
fieldsets = (
    ('Main', {
        'fields': ('title', 'content')
    }),
    ('Advanced options', {
        'fields': ('status', 'publish_date'),
        'description': 'Settings for publishing'
    }),
)
Sample Program

This example shows a Django admin form for an Article model. The form fields are grouped into three sections with titles and an optional description.

Django
from django.contrib import admin
from .models import Article

class ArticleAdmin(admin.ModelAdmin):
    fieldsets = (
        ('Basic Info', {
            'fields': ('title', 'author')
        }),
        ('Content', {
            'fields': ('body',),
            'description': 'Write the main content here.'
        }),
        ('Publication', {
            'fields': ('status', 'publish_date')
        }),
    )

admin.site.register(Article, ArticleAdmin)
OutputSuccess
Important Notes

Fieldsets improve form usability and accessibility by grouping related fields.

You can add a description to explain the section to users.

Fieldsets are mainly used in Django admin forms, not in regular Django forms.

Summary

Fieldsets group form fields under a heading for clarity.

They help organize complex forms into sections.

Used mostly in Django admin to customize form layout.