      <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>
  
  ``get_context()``
  -----------------
  
  .. versionadded:: 4.0
  
  .. method:: Form.get_context()
  
  Return context for form rendering in a template.
  
  The available context is:
  
  * ``form``: The bound form.
  * ``fields``: All bound fields, except the hidden fields.
  * ``hidden_fields``: All hidden bound fields.
  * ``errors``: All non field related or hidden field related form errors.
  
  ``render()``
  ------------
  
  .. versionadded:: 4.0
  
  .. method:: Form.render(template_name=None, context=None, renderer=None)
  
  The render method is called by ``__str__`` as well as the
  :meth:`.Form.as_table`, :meth:`.Form.as_p`, and :meth:`.Form.as_ul` methods.
  All arguments are optional and default to:
  
  * ``template_name``: :attr:`.Form.template_name`
  * ``context``: Value returned by :meth:`.Form.get_context`
  * ``renderer``: Value returned by :attr:`.Form.default_renderer`
  
  .. _ref-forms-api-styling-form-rows:
  
  Styling required or erroneous form rows
  ---------------------------------------
  
 
</s> remove ``template_name``
 </s> add Default rendering </s> remove Finally, ``as_table()`` renders the form using the template assigned to the
forms ``template_name_table`` attribute, by default this template is
``'django/forms/table.html'``. This template outputs the form as an HTML
``<table>``::
 </s> add ``as_table()`` renders the form as an HTML ``<table>``:: </s> remove ----------
 </s> add ~~~~~~~~~~

.. attribute:: Form.template_name_p

The template used by ``as_p()``. Default: ``'django/forms/p.html'``. </s> remove Form rendering options
----------------------

 </s> add 
      <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:
  
  Styling required or erroneous form rows
  ---------------------------------------
  
keep keep keep keep replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace keep keep keep keep keep
 Refs #32339 -- Restructured outputting HTML form docs.

In the topic doc, promoted the Reusable form templates section.

In the reference, re-grouped and promoted the default __str__()
rendering path, and then gathered the various as_*() helpers
subsequently.

Thanks to David Smith for review. 
docs/ref/forms/api.txt