#25702: Port ModelAdmin.fieldset to BaseForm -------------------------+------------------------------------------------- Reporter: | Owner: nobody Psycojoker | Type: New | Status: new feature | Component: Forms | Version: master Severity: Normal | Keywords: form modeladmin layout Triage Stage: | admininterface Unreviewed | Has patch: 0 Easy pickings: 0 | UI/UX: 0 -------------------------+------------------------------------------------- In the admin interface it is possible to control the admin forms layout using the //fieldset// attribute. This feature is described here: https://docs.djangoproject.com/en/1.8/ref/contrib/admin/#django.contrib.admin.ModelAdmin.fieldsets
Here is the example from the documentation (modified to display the feature that allows to display multiple fields in the same line): {{{#!python from django.contrib import admin class FlatPageAdmin(admin.ModelAdmin): fieldsets = ( (None, { 'fields': (('url', 'title'), ('content', 'sites')) }), ('Advanced options', { 'classes': ('collapse',), 'fields': ('enable_comments', 'registration_required', 'template_name') }), ) }}} The idea of this feature would be to port this exact behavior to the standard django forms. Taking the first form example from the documentation, this could look like this: {{{#!python from django import forms class ContactForm(forms.Form): subject = forms.CharField(max_length=100) message = forms.CharField(widget=forms.Textarea) sender = forms.EmailField() cc_myself = forms.BooleanField(required=False) fieldset = ( (None, { "fields": (('sender', 'cc_myself'),), }), ("Content", { "fields": ("subject", "message"), }), ) }}} Currently, there is no way to modify the form layout beside the field order. This is very frustrating because this mean that if you want modify the layout of a form, you need to explode it totally to do that or you need to use another project (like django-crispy-forms [#point1 (1)] or another one). While not going to all the extend of what django-cripsy-forms or another project is doing, //fieldset// is an already known and used convention accross the django project and allowing it in standard forms seems like a natural and intuitive choice. [=#point1 (1)] http://django-crispy- forms.readthedocs.org/en/latest/layouts.html -- Ticket URL: <https://code.djangoproject.com/ticket/25702> Django <https://code.djangoproject.com/> The Web framework for perfectionists with deadlines. -- You received this message because you are subscribed to the Google Groups "Django updates" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-updates+unsubscr...@googlegroups.com. To post to this group, send email to django-updates@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/django-updates/053.6fef2711c1003ddbc790afb882c1b719%40djangoproject.com. For more options, visit https://groups.google.com/d/optout.