diff options
| author | Jon Dufresne <jon.dufresne@gmail.com> | 2018-01-20 23:09:10 -0800 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2018-01-21 02:09:10 -0500 |
| commit | ff05de760cc4ef4c7f188e163c722ec3bc1f0cbf (patch) | |
| tree | ba133d0ecea7521935c98cf1c058df4e6a9ff233 /docs/ref/forms/api.txt | |
| parent | 4b0f39d9fb2033a9597e30ac13af162440b82ebc (diff) | |
Fixed #29038 -- Removed closing slash from HTML void tags.
Diffstat (limited to 'docs/ref/forms/api.txt')
| -rw-r--r-- | docs/ref/forms/api.txt | 222 |
1 files changed, 111 insertions, 111 deletions
diff --git a/docs/ref/forms/api.txt b/docs/ref/forms/api.txt index 5e001a2f62..bafa688f98 100644 --- a/docs/ref/forms/api.txt +++ b/docs/ref/forms/api.txt @@ -255,9 +255,9 @@ precedence:: ... comment = forms.CharField() >>> f = CommentForm(initial={'name': 'instance'}, auto_id=False) >>> print(f) - <tr><th>Name:</th><td><input type="text" name="name" value="instance" required /></td></tr> - <tr><th>Url:</th><td><input type="url" name="url" required /></td></tr> - <tr><th>Comment:</th><td><input type="text" name="comment" required /></td></tr> + <tr><th>Name:</th><td><input type="text" name="name" value="instance" required></td></tr> + <tr><th>Url:</th><td><input type="url" name="url" required></td></tr> + <tr><th>Comment:</th><td><input type="text" name="comment" required></td></tr> .. method:: Form.get_initial_for_field(field, field_name) @@ -322,10 +322,10 @@ You can alter the field of :class:`Form` instance to change the way it is presented in the form:: >>> f.as_table().split('\n')[0] - '<tr><th>Name:</th><td><input name="name" type="text" value="instance" required /></td></tr>' + '<tr><th>Name:</th><td><input name="name" type="text" value="instance" required></td></tr>' >>> f.fields['name'].label = "Username" >>> f.as_table().split('\n')[0] - '<tr><th>Username:</th><td><input name="name" type="text" value="instance" required /></td></tr>' + '<tr><th>Username:</th><td><input name="name" type="text" value="instance" required></td></tr>' Beware not to alter the ``base_fields`` attribute because this modification will influence all subsequent ``ContactForm`` instances within the same Python @@ -334,7 +334,7 @@ process:: >>> f.base_fields['name'].label = "Username" >>> another_f = CommentForm(auto_id=False) >>> another_f.as_table().split('\n')[0] - '<tr><th>Username:</th><td><input name="name" type="text" value="class" required /></td></tr>' + '<tr><th>Username:</th><td><input name="name" type="text" value="class" required></td></tr>' Accessing "clean" data ====================== @@ -438,10 +438,10 @@ simply ``print`` it:: >>> f = ContactForm() >>> print(f) - <tr><th><label for="id_subject">Subject:</label></th><td><input id="id_subject" type="text" name="subject" maxlength="100" required /></td></tr> - <tr><th><label for="id_message">Message:</label></th><td><input type="text" name="message" id="id_message" required /></td></tr> - <tr><th><label for="id_sender">Sender:</label></th><td><input type="email" name="sender" id="id_sender" required /></td></tr> - <tr><th><label for="id_cc_myself">Cc myself:</label></th><td><input type="checkbox" name="cc_myself" id="id_cc_myself" /></td></tr> + <tr><th><label for="id_subject">Subject:</label></th><td><input id="id_subject" type="text" name="subject" maxlength="100" required></td></tr> + <tr><th><label for="id_message">Message:</label></th><td><input type="text" name="message" id="id_message" required></td></tr> + <tr><th><label for="id_sender">Sender:</label></th><td><input type="email" name="sender" id="id_sender" required></td></tr> + <tr><th><label for="id_cc_myself">Cc myself:</label></th><td><input type="checkbox" name="cc_myself" id="id_cc_myself"></td></tr> If the form is bound to data, the HTML output will include that data appropriately. For example, if a field is represented by an @@ -455,10 +455,10 @@ include ``checked`` if appropriate:: ... 'cc_myself': True} >>> f = ContactForm(data) >>> print(f) - <tr><th><label for="id_subject">Subject:</label></th><td><input id="id_subject" type="text" name="subject" maxlength="100" value="hello" required /></td></tr> - <tr><th><label for="id_message">Message:</label></th><td><input type="text" name="message" id="id_message" value="Hi there" required /></td></tr> - <tr><th><label for="id_sender">Sender:</label></th><td><input type="email" name="sender" id="id_sender" value="foo@example.com" required /></td></tr> - <tr><th><label for="id_cc_myself">Cc myself:</label></th><td><input type="checkbox" name="cc_myself" id="id_cc_myself" checked /></td></tr> + <tr><th><label for="id_subject">Subject:</label></th><td><input id="id_subject" type="text" name="subject" maxlength="100" value="hello" required></td></tr> + <tr><th><label for="id_message">Message:</label></th><td><input type="text" name="message" id="id_message" value="Hi there" required></td></tr> + <tr><th><label for="id_sender">Sender:</label></th><td><input type="email" name="sender" id="id_sender" value="foo@example.com" required></td></tr> + <tr><th><label for="id_cc_myself">Cc myself:</label></th><td><input type="checkbox" name="cc_myself" id="id_cc_myself" checked></td></tr> This default output is a two-column HTML table, with a ``<tr>`` for each field. Notice the following: @@ -506,12 +506,12 @@ containing one field:: >>> f = ContactForm() >>> f.as_p() - '<p><label for="id_subject">Subject:</label> <input id="id_subject" type="text" name="subject" maxlength="100" required /></p>\n<p><label for="id_message">Message:</label> <input type="text" name="message" id="id_message" required /></p>\n<p><label for="id_sender">Sender:</label> <input type="text" name="sender" id="id_sender" required /></p>\n<p><label for="id_cc_myself">Cc myself:</label> <input type="checkbox" name="cc_myself" id="id_cc_myself" /></p>' + '<p><label for="id_subject">Subject:</label> <input id="id_subject" type="text" name="subject" maxlength="100" required></p>\n<p><label for="id_message">Message:</label> <input type="text" name="message" id="id_message" required></p>\n<p><label for="id_sender">Sender:</label> <input type="text" name="sender" id="id_sender" required></p>\n<p><label for="id_cc_myself">Cc myself:</label> <input type="checkbox" name="cc_myself" id="id_cc_myself"></p>' >>> print(f.as_p()) - <p><label for="id_subject">Subject:</label> <input id="id_subject" type="text" name="subject" maxlength="100" required /></p> - <p><label for="id_message">Message:</label> <input type="text" name="message" id="id_message" required /></p> - <p><label for="id_sender">Sender:</label> <input type="email" name="sender" id="id_sender" required /></p> - <p><label for="id_cc_myself">Cc myself:</label> <input type="checkbox" name="cc_myself" id="id_cc_myself" /></p> + <p><label for="id_subject">Subject:</label> <input id="id_subject" type="text" name="subject" maxlength="100" required></p> + <p><label for="id_message">Message:</label> <input type="text" name="message" id="id_message" required></p> + <p><label for="id_sender">Sender:</label> <input type="email" name="sender" id="id_sender" required></p> + <p><label for="id_cc_myself">Cc myself:</label> <input type="checkbox" name="cc_myself" id="id_cc_myself"></p> ``as_ul()`` ----------- @@ -525,12 +525,12 @@ flexibility:: >>> f = ContactForm() >>> f.as_ul() - '<li><label for="id_subject">Subject:</label> <input id="id_subject" type="text" name="subject" maxlength="100" required /></li>\n<li><label for="id_message">Message:</label> <input type="text" name="message" id="id_message" required /></li>\n<li><label for="id_sender">Sender:</label> <input type="email" name="sender" id="id_sender" required /></li>\n<li><label for="id_cc_myself">Cc myself:</label> <input type="checkbox" name="cc_myself" id="id_cc_myself" /></li>' + '<li><label for="id_subject">Subject:</label> <input id="id_subject" type="text" name="subject" maxlength="100" required></li>\n<li><label for="id_message">Message:</label> <input type="text" name="message" id="id_message" required></li>\n<li><label for="id_sender">Sender:</label> <input type="email" name="sender" id="id_sender" required></li>\n<li><label for="id_cc_myself">Cc myself:</label> <input type="checkbox" name="cc_myself" id="id_cc_myself"></li>' >>> print(f.as_ul()) - <li><label for="id_subject">Subject:</label> <input id="id_subject" type="text" name="subject" maxlength="100" required /></li> - <li><label for="id_message">Message:</label> <input type="text" name="message" id="id_message" required /></li> - <li><label for="id_sender">Sender:</label> <input type="email" name="sender" id="id_sender" required /></li> - <li><label for="id_cc_myself">Cc myself:</label> <input type="checkbox" name="cc_myself" id="id_cc_myself" /></li> + <li><label for="id_subject">Subject:</label> <input id="id_subject" type="text" name="subject" maxlength="100" required></li> + <li><label for="id_message">Message:</label> <input type="text" name="message" id="id_message" required></li> + <li><label for="id_sender">Sender:</label> <input type="email" name="sender" id="id_sender" required></li> + <li><label for="id_cc_myself">Cc myself:</label> <input type="checkbox" name="cc_myself" id="id_cc_myself"></li> ``as_table()`` -------------- @@ -543,12 +543,12 @@ it calls its ``as_table()`` method behind the scenes:: >>> f = ContactForm() >>> f.as_table() - '<tr><th><label for="id_subject">Subject:</label></th><td><input id="id_subject" type="text" name="subject" maxlength="100" required /></td></tr>\n<tr><th><label for="id_message">Message:</label></th><td><input type="text" name="message" id="id_message" required /></td></tr>\n<tr><th><label for="id_sender">Sender:</label></th><td><input type="email" name="sender" id="id_sender" required /></td></tr>\n<tr><th><label for="id_cc_myself">Cc myself:</label></th><td><input type="checkbox" name="cc_myself" id="id_cc_myself" /></td></tr>' + '<tr><th><label for="id_subject">Subject:</label></th><td><input id="id_subject" type="text" name="subject" maxlength="100" required></td></tr>\n<tr><th><label for="id_message">Message:</label></th><td><input type="text" name="message" id="id_message" required></td></tr>\n<tr><th><label for="id_sender">Sender:</label></th><td><input type="email" name="sender" id="id_sender" required></td></tr>\n<tr><th><label for="id_cc_myself">Cc myself:</label></th><td><input type="checkbox" name="cc_myself" id="id_cc_myself"></td></tr>' >>> print(f) - <tr><th><label for="id_subject">Subject:</label></th><td><input id="id_subject" type="text" name="subject" maxlength="100" required /></td></tr> - <tr><th><label for="id_message">Message:</label></th><td><input type="text" name="message" id="id_message" required /></td></tr> - <tr><th><label for="id_sender">Sender:</label></th><td><input type="email" name="sender" id="id_sender" required /></td></tr> - <tr><th><label for="id_cc_myself">Cc myself:</label></th><td><input type="checkbox" name="cc_myself" id="id_cc_myself" /></td></tr> + <tr><th><label for="id_subject">Subject:</label></th><td><input id="id_subject" type="text" name="subject" maxlength="100" required></td></tr> + <tr><th><label for="id_message">Message:</label></th><td><input type="text" name="message" id="id_message" required></td></tr> + <tr><th><label for="id_sender">Sender:</label></th><td><input type="email" name="sender" id="id_sender" required></td></tr> + <tr><th><label for="id_cc_myself">Cc myself:</label></th><td><input type="checkbox" name="cc_myself" id="id_cc_myself"></td></tr> .. _ref-forms-api-styling-form-rows: @@ -618,20 +618,20 @@ tags nor ``id`` attributes:: >>> f = ContactForm(auto_id=False) >>> print(f.as_table()) - <tr><th>Subject:</th><td><input type="text" name="subject" maxlength="100" required /></td></tr> - <tr><th>Message:</th><td><input type="text" name="message" required /></td></tr> - <tr><th>Sender:</th><td><input type="email" name="sender" required /></td></tr> - <tr><th>Cc myself:</th><td><input type="checkbox" name="cc_myself" /></td></tr> + <tr><th>Subject:</th><td><input type="text" name="subject" maxlength="100" required></td></tr> + <tr><th>Message:</th><td><input type="text" name="message" required></td></tr> + <tr><th>Sender:</th><td><input type="email" name="sender" required></td></tr> + <tr><th>Cc myself:</th><td><input type="checkbox" name="cc_myself"></td></tr> >>> print(f.as_ul()) - <li>Subject: <input type="text" name="subject" maxlength="100" required /></li> - <li>Message: <input type="text" name="message" required /></li> - <li>Sender: <input type="email" name="sender" required /></li> - <li>Cc myself: <input type="checkbox" name="cc_myself" /></li> + <li>Subject: <input type="text" name="subject" maxlength="100" required></li> + <li>Message: <input type="text" name="message" required></li> + <li>Sender: <input type="email" name="sender" required></li> + <li>Cc myself: <input type="checkbox" name="cc_myself"></li> >>> print(f.as_p()) - <p>Subject: <input type="text" name="subject" maxlength="100" required /></p> - <p>Message: <input type="text" name="message" required /></p> - <p>Sender: <input type="email" name="sender" required /></p> - <p>Cc myself: <input type="checkbox" name="cc_myself" /></p> + <p>Subject: <input type="text" name="subject" maxlength="100" required></p> + <p>Message: <input type="text" name="message" required></p> + <p>Sender: <input type="email" name="sender" required></p> + <p>Cc myself: <input type="checkbox" name="cc_myself"></p> If ``auto_id`` is set to ``True``, then the form output *will* include ``<label>`` tags and will simply use the field name as its ``id`` for each form @@ -639,20 +639,20 @@ field:: >>> f = ContactForm(auto_id=True) >>> print(f.as_table()) - <tr><th><label for="subject">Subject:</label></th><td><input id="subject" type="text" name="subject" maxlength="100" required /></td></tr> - <tr><th><label for="message">Message:</label></th><td><input type="text" name="message" id="message" required /></td></tr> - <tr><th><label for="sender">Sender:</label></th><td><input type="email" name="sender" id="sender" required /></td></tr> - <tr><th><label for="cc_myself">Cc myself:</label></th><td><input type="checkbox" name="cc_myself" id="cc_myself" /></td></tr> + <tr><th><label for="subject">Subject:</label></th><td><input id="subject" type="text" name="subject" maxlength="100" required></td></tr> + <tr><th><label for="message">Message:</label></th><td><input type="text" name="message" id="message" required></td></tr> + <tr><th><label for="sender">Sender:</label></th><td><input type="email" name="sender" id="sender" required></td></tr> + <tr><th><label for="cc_myself">Cc myself:</label></th><td><input type="checkbox" name="cc_myself" id="cc_myself"></td></tr> >>> print(f.as_ul()) - <li><label for="subject">Subject:</label> <input id="subject" type="text" name="subject" maxlength="100" required /></li> - <li><label for="message">Message:</label> <input type="text" name="message" id="message" required /></li> - <li><label for="sender">Sender:</label> <input type="email" name="sender" id="sender" required /></li> - <li><label for="cc_myself">Cc myself:</label> <input type="checkbox" name="cc_myself" id="cc_myself" /></li> + <li><label for="subject">Subject:</label> <input id="subject" type="text" name="subject" maxlength="100" required></li> + <li><label for="message">Message:</label> <input type="text" name="message" id="message" required></li> + <li><label for="sender">Sender:</label> <input type="email" name="sender" id="sender" required></li> + <li><label for="cc_myself">Cc myself:</label> <input type="checkbox" name="cc_myself" id="cc_myself"></li> >>> print(f.as_p()) - <p><label for="subject">Subject:</label> <input id="subject" type="text" name="subject" maxlength="100" required /></p> - <p><label for="message">Message:</label> <input type="text" name="message" id="message" required /></p> - <p><label for="sender">Sender:</label> <input type="email" name="sender" id="sender" required /></p> - <p><label for="cc_myself">Cc myself:</label> <input type="checkbox" name="cc_myself" id="cc_myself" /></p> + <p><label for="subject">Subject:</label> <input id="subject" type="text" name="subject" maxlength="100" required></p> + <p><label for="message">Message:</label> <input type="text" name="message" id="message" required></p> + <p><label for="sender">Sender:</label> <input type="email" name="sender" id="sender" required></p> + <p><label for="cc_myself">Cc myself:</label> <input type="checkbox" name="cc_myself" id="cc_myself"></p> If ``auto_id`` is set to a string containing the format character ``'%s'``, then the form output will include ``<label>`` tags, and will generate ``id`` @@ -662,20 +662,20 @@ attributes based on the format string. For example, for a format string >>> f = ContactForm(auto_id='id_for_%s') >>> print(f.as_table()) - <tr><th><label for="id_for_subject">Subject:</label></th><td><input id="id_for_subject" type="text" name="subject" maxlength="100" required /></td></tr> - <tr><th><label for="id_for_message">Message:</label></th><td><input type="text" name="message" id="id_for_message" required /></td></tr> - <tr><th><label for="id_for_sender">Sender:</label></th><td><input type="email" name="sender" id="id_for_sender" required /></td></tr> - <tr><th><label for="id_for_cc_myself">Cc myself:</label></th><td><input type="checkbox" name="cc_myself" id="id_for_cc_myself" /></td></tr> + <tr><th><label for="id_for_subject">Subject:</label></th><td><input id="id_for_subject" type="text" name="subject" maxlength="100" required></td></tr> + <tr><th><label for="id_for_message">Message:</label></th><td><input type="text" name="message" id="id_for_message" required></td></tr> + <tr><th><label for="id_for_sender">Sender:</label></th><td><input type="email" name="sender" id="id_for_sender" required></td></tr> + <tr><th><label for="id_for_cc_myself">Cc myself:</label></th><td><input type="checkbox" name="cc_myself" id="id_for_cc_myself"></td></tr> >>> print(f.as_ul()) - <li><label for="id_for_subject">Subject:</label> <input id="id_for_subject" type="text" name="subject" maxlength="100" required /></li> - <li><label for="id_for_message">Message:</label> <input type="text" name="message" id="id_for_message" required /></li> - <li><label for="id_for_sender">Sender:</label> <input type="email" name="sender" id="id_for_sender" required /></li> - <li><label for="id_for_cc_myself">Cc myself:</label> <input type="checkbox" name="cc_myself" id="id_for_cc_myself" /></li> + <li><label for="id_for_subject">Subject:</label> <input id="id_for_subject" type="text" name="subject" maxlength="100" required></li> + <li><label for="id_for_message">Message:</label> <input type="text" name="message" id="id_for_message" required></li> + <li><label for="id_for_sender">Sender:</label> <input type="email" name="sender" id="id_for_sender" required></li> + <li><label for="id_for_cc_myself">Cc myself:</label> <input type="checkbox" name="cc_myself" id="id_for_cc_myself"></li> >>> print(f.as_p()) - <p><label for="id_for_subject">Subject:</label> <input id="id_for_subject" type="text" name="subject" maxlength="100" required /></p> - <p><label for="id_for_message">Message:</label> <input type="text" name="message" id="id_for_message" required /></p> - <p><label for="id_for_sender">Sender:</label> <input type="email" name="sender" id="id_for_sender" required /></p> - <p><label for="id_for_cc_myself">Cc myself:</label> <input type="checkbox" name="cc_myself" id="id_for_cc_myself" /></p> + <p><label for="id_for_subject">Subject:</label> <input id="id_for_subject" type="text" name="subject" maxlength="100" required></p> + <p><label for="id_for_message">Message:</label> <input type="text" name="message" id="id_for_message" required></p> + <p><label for="id_for_sender">Sender:</label> <input type="email" name="sender" id="id_for_sender" required></p> + <p><label for="id_for_cc_myself">Cc myself:</label> <input type="checkbox" name="cc_myself" id="id_for_cc_myself"></p> If ``auto_id`` is set to any other true value -- such as a string that doesn't include ``%s`` -- then the library will act as if ``auto_id`` is ``True``. @@ -692,16 +692,16 @@ It's possible to customize that character, or omit it entirely, using the >>> f = ContactForm(auto_id='id_for_%s', label_suffix='') >>> print(f.as_ul()) - <li><label for="id_for_subject">Subject</label> <input id="id_for_subject" type="text" name="subject" maxlength="100" required /></li> - <li><label for="id_for_message">Message</label> <input type="text" name="message" id="id_for_message" required /></li> - <li><label for="id_for_sender">Sender</label> <input type="email" name="sender" id="id_for_sender" required /></li> - <li><label for="id_for_cc_myself">Cc myself</label> <input type="checkbox" name="cc_myself" id="id_for_cc_myself" /></li> + <li><label for="id_for_subject">Subject</label> <input id="id_for_subject" type="text" name="subject" maxlength="100" required></li> + <li><label for="id_for_message">Message</label> <input type="text" name="message" id="id_for_message" required></li> + <li><label for="id_for_sender">Sender</label> <input type="email" name="sender" id="id_for_sender" required></li> + <li><label for="id_for_cc_myself">Cc myself</label> <input type="checkbox" name="cc_myself" id="id_for_cc_myself"></li> >>> f = ContactForm(auto_id='id_for_%s', label_suffix=' ->') >>> print(f.as_ul()) - <li><label for="id_for_subject">Subject -></label> <input id="id_for_subject" type="text" name="subject" maxlength="100" required /></li> - <li><label for="id_for_message">Message -></label> <input type="text" name="message" id="id_for_message" required /></li> - <li><label for="id_for_sender">Sender -></label> <input type="email" name="sender" id="id_for_sender" required /></li> - <li><label for="id_for_cc_myself">Cc myself -></label> <input type="checkbox" name="cc_myself" id="id_for_cc_myself" /></li> + <li><label for="id_for_subject">Subject -></label> <input id="id_for_subject" type="text" name="subject" maxlength="100" required></li> + <li><label for="id_for_message">Message -></label> <input type="text" name="message" id="id_for_message" required></li> + <li><label for="id_for_sender">Sender -></label> <input type="email" name="sender" id="id_for_sender" required></li> + <li><label for="id_for_cc_myself">Cc myself -></label> <input type="checkbox" name="cc_myself" id="id_for_cc_myself"></li> Note that the label suffix is added only if the last character of the label isn't a punctuation character (in English, those are ``.``, ``!``, ``?`` @@ -788,22 +788,22 @@ method you're using:: ... 'cc_myself': True} >>> f = ContactForm(data, auto_id=False) >>> print(f.as_table()) - <tr><th>Subject:</th><td><ul class="errorlist"><li>This field is required.</li></ul><input type="text" name="subject" maxlength="100" required /></td></tr> - <tr><th>Message:</th><td><input type="text" name="message" value="Hi there" required /></td></tr> - <tr><th>Sender:</th><td><ul class="errorlist"><li>Enter a valid email address.</li></ul><input type="email" name="sender" value="invalid email address" required /></td></tr> - <tr><th>Cc myself:</th><td><input checked type="checkbox" name="cc_myself" /></td></tr> + <tr><th>Subject:</th><td><ul class="errorlist"><li>This field is required.</li></ul><input type="text" name="subject" maxlength="100" required></td></tr> + <tr><th>Message:</th><td><input type="text" name="message" value="Hi there" required></td></tr> + <tr><th>Sender:</th><td><ul class="errorlist"><li>Enter a valid email address.</li></ul><input type="email" name="sender" value="invalid email address" required></td></tr> + <tr><th>Cc myself:</th><td><input checked type="checkbox" name="cc_myself"></td></tr> >>> print(f.as_ul()) - <li><ul class="errorlist"><li>This field is required.</li></ul>Subject: <input type="text" name="subject" maxlength="100" required /></li> - <li>Message: <input type="text" name="message" value="Hi there" required /></li> - <li><ul class="errorlist"><li>Enter a valid email address.</li></ul>Sender: <input type="email" name="sender" value="invalid email address" required /></li> - <li>Cc myself: <input checked type="checkbox" name="cc_myself" /></li> + <li><ul class="errorlist"><li>This field is required.</li></ul>Subject: <input type="text" name="subject" maxlength="100" required></li> + <li>Message: <input type="text" name="message" value="Hi there" required></li> + <li><ul class="errorlist"><li>Enter a valid email address.</li></ul>Sender: <input type="email" name="sender" value="invalid email address" required></li> + <li>Cc myself: <input checked type="checkbox" name="cc_myself"></li> >>> print(f.as_p()) <p><ul class="errorlist"><li>This field is required.</li></ul></p> - <p>Subject: <input type="text" name="subject" maxlength="100" required /></p> - <p>Message: <input type="text" name="message" value="Hi there" required /></p> + <p>Subject: <input type="text" name="subject" maxlength="100" required></p> + <p>Message: <input type="text" name="message" value="Hi there" required></p> <p><ul class="errorlist"><li>Enter a valid email address.</li></ul></p> - <p>Sender: <input type="email" name="sender" value="invalid email address" required /></p> - <p>Cc myself: <input checked type="checkbox" name="cc_myself" /></p> + <p>Sender: <input type="email" name="sender" value="invalid email address" required></p> + <p>Cc myself: <input checked type="checkbox" name="cc_myself"></p> .. _ref-forms-error-list-format: @@ -824,11 +824,11 @@ pass that in at construction time:: >>> f = ContactForm(data, auto_id=False, error_class=DivErrorList) >>> f.as_p() <div class="errorlist"><div class="error">This field is required.</div></div> - <p>Subject: <input type="text" name="subject" maxlength="100" required /></p> - <p>Message: <input type="text" name="message" value="Hi there" required /></p> + <p>Subject: <input type="text" name="subject" maxlength="100" required></p> + <p>Message: <input type="text" name="message" value="Hi there" required></p> <div class="errorlist"><div class="error">Enter a valid email address.</div></div> - <p>Sender: <input type="email" name="sender" value="invalid email address" required /></p> - <p>Cc myself: <input checked type="checkbox" name="cc_myself" /></p> + <p>Sender: <input type="email" name="sender" value="invalid email address" required></p> + <p>Cc myself: <input checked type="checkbox" name="cc_myself"></p> More granular output ==================== @@ -848,25 +848,25 @@ using the field's name as the key:: >>> form = ContactForm() >>> print(form['subject']) - <input id="id_subject" type="text" name="subject" maxlength="100" required /> + <input id="id_subject" type="text" name="subject" maxlength="100" required> To retrieve all ``BoundField`` objects, iterate the form:: >>> form = ContactForm() >>> for boundfield in form: print(boundfield) - <input id="id_subject" type="text" name="subject" maxlength="100" required /> - <input type="text" name="message" id="id_message" required /> - <input type="email" name="sender" id="id_sender" required /> - <input type="checkbox" name="cc_myself" id="id_cc_myself" /> + <input id="id_subject" type="text" name="subject" maxlength="100" required> + <input type="text" name="message" id="id_message" required> + <input type="email" name="sender" id="id_sender" required> + <input type="checkbox" name="cc_myself" id="id_cc_myself"> The field-specific output honors the form object's ``auto_id`` setting:: >>> f = ContactForm(auto_id=False) >>> print(f['message']) - <input type="text" name="message" required /> + <input type="text" name="message" required> >>> f = ContactForm(auto_id='id_%s') >>> print(f['message']) - <input type="text" name="message" id="id_message" required /> + <input type="text" name="message" id="id_message" required> Attributes of ``BoundField`` ---------------------------- @@ -897,7 +897,7 @@ Attributes of ``BoundField`` >>> data = {'subject': 'hi', 'message': '', 'sender': '', 'cc_myself': ''} >>> f = ContactForm(data, auto_id=False) >>> print(f['message']) - <input type="text" name="message" required /> + <input type="text" name="message" required> >>> f['message'].errors ['This field is required.'] >>> print(f['message'].errors) @@ -949,7 +949,7 @@ Attributes of ``BoundField`` .. code-block:: html - <label for="myFIELD">...</label><input id="myFIELD" type="text" name="my_field" required /> + <label for="myFIELD">...</label><input id="myFIELD" type="text" name="my_field" required> .. attribute:: BoundField.is_hidden @@ -1168,11 +1168,11 @@ fields are ordered first:: ... priority = forms.CharField() >>> f = ContactFormWithPriority(auto_id=False) >>> print(f.as_ul()) - <li>Subject: <input type="text" name="subject" maxlength="100" required /></li> - <li>Message: <input type="text" name="message" required /></li> - <li>Sender: <input type="email" name="sender" required /></li> - <li>Cc myself: <input type="checkbox" name="cc_myself" /></li> - <li>Priority: <input type="text" name="priority" required /></li> + <li>Subject: <input type="text" name="subject" maxlength="100" required></li> + <li>Message: <input type="text" name="message" required></li> + <li>Sender: <input type="email" name="sender" required></li> + <li>Cc myself: <input type="checkbox" name="cc_myself"></li> + <li>Priority: <input type="text" name="priority" required></li> It's possible to subclass multiple forms, treating forms as mixins. In this example, ``BeatleForm`` subclasses both ``PersonForm`` and ``InstrumentForm`` @@ -1189,10 +1189,10 @@ classes:: ... haircut_type = forms.CharField() >>> b = BeatleForm(auto_id=False) >>> print(b.as_ul()) - <li>First name: <input type="text" name="first_name" required /></li> - <li>Last name: <input type="text" name="last_name" required /></li> - <li>Instrument: <input type="text" name="instrument" required /></li> - <li>Haircut type: <input type="text" name="haircut_type" required /></li> + <li>First name: <input type="text" name="first_name" required></li> + <li>Last name: <input type="text" name="last_name" required></li> + <li>Instrument: <input type="text" name="instrument" required></li> + <li>Haircut type: <input type="text" name="haircut_type" required></li> It's possible to declaratively remove a ``Field`` inherited from a parent class by setting the name of the field to ``None`` on the subclass. For example:: @@ -1222,11 +1222,11 @@ You can put several Django forms inside one ``<form>`` tag. To give each >>> mother = PersonForm(prefix="mother") >>> father = PersonForm(prefix="father") >>> print(mother.as_ul()) - <li><label for="id_mother-first_name">First name:</label> <input type="text" name="mother-first_name" id="id_mother-first_name" required /></li> - <li><label for="id_mother-last_name">Last name:</label> <input type="text" name="mother-last_name" id="id_mother-last_name" required /></li> + <li><label for="id_mother-first_name">First name:</label> <input type="text" name="mother-first_name" id="id_mother-first_name" required></li> + <li><label for="id_mother-last_name">Last name:</label> <input type="text" name="mother-last_name" id="id_mother-last_name" required></li> >>> print(father.as_ul()) - <li><label for="id_father-first_name">First name:</label> <input type="text" name="father-first_name" id="id_father-first_name" required /></li> - <li><label for="id_father-last_name">Last name:</label> <input type="text" name="father-last_name" id="id_father-last_name" required /></li> + <li><label for="id_father-first_name">First name:</label> <input type="text" name="father-first_name" id="id_father-first_name" required></li> + <li><label for="id_father-last_name">Last name:</label> <input type="text" name="father-last_name" id="id_father-last_name" required></li> The prefix can also be specified on the form class:: |
