  Although ``<table>`` output is the default output style when you ``print`` a
  form, other output styles are available. Each style is available as a method on
  a form object, and each rendering method returns a string.
  
  ``template_name``
  -----------------
  
  .. versionadded:: 4.0
  
  .. attribute:: Form.template_name
 
</s> remove ``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`

 </s> add  </s> remove Form rendering options
----------------------

 </s> add  </s> remove ``as_ul()`` renders the form using the template assigned to the forms
``template_name_ul`` attribute, by default this template is
``'django/forms/ul.html'``. This template renders the form as a series of
``<li>`` tags, with each ``<li>`` containing one field. It does *not* include
the ``<ul>`` or ``</ul>``, so that you can specify any HTML attributes on the
``<ul>`` for flexibility::
 </s> add ``as_ul()`` renders the form as a series of ``<li>`` tags, with each ``<li>``
containing one field. It does *not* include the ``<ul>`` or ``</ul>``, so that
you can specify any HTML attributes on the ``<ul>`` for flexibility::
Default rendering
  Although ``<table>`` output is the default output style when you ``print`` a
  form, other output styles are available. Each style is available as a method on
  a form object, and each rendering method returns a string.
  
Default rendering
  -----------------
  
  .. versionadded:: 4.0
  
  .. attribute:: Form.template_name
keep keep keep keep 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