#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.

Reply via email to