#21743: formset prefix attribute and formset empty form "__prefix__" don't refer to the same thing --------------------------------------+---------------------------- Reporter: bjb@… | Owner: nobody Type: Cleanup/optimization | Status: new Component: Forms | Version: 1.6 Severity: Normal | Keywords: formset prefix Triage Stage: Unreviewed | Has patch: 0 Easy pickings: 0 | UI/UX: 0 --------------------------------------+---------------------------- The formset `prefix` attribute and formset emptyform "!__prefix!__" placeholder don't refer to the same thing
Formsets allow you to change the word "form" in the ids of the elements in the form to some other string, and the way you do that is with the "prefix" kwarg when creating the FormsetFactory. eg, `id_form-5_id` -> `id_note-5_id` when prefix = note. That's good. Formsets have a way to generate an empty form so you can add new forms into your html with simple javascript, you don't have to know what all the fields are in javascript - just clone the empty form (and adjust the ids and fix up the TOTAL_FORMS etc). That's good. Unfortunately, the placeholder for the form number in the ids of the empty form elements is called `__prefix__`. That is confusing, because the prefix passed in to the formset is used in the ids in a different spot. `id_note-__prefix__-id`, where "note" was passed in as the value for the prefix kwarg. I think the !__prefix!__ placeholder should be changed to some other string, like "formnum". An emptyform with no prefix specified would then look like: `id_form- __formnum__-id` -- Ticket URL: <https://code.djangoproject.com/ticket/21743> 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/057.937fdae7dd4af7e3618c00e0405e942b%40djangoproject.com. For more options, visit https://groups.google.com/groups/opt_out.