    but we're explicitly using :attr:`request.POST
    <django.http.HttpRequest.POST>` in our code, to ensure that data is only
    altered via a POST call.
  
  * ``request.POST['choice']`` will raise :exc:`KeyError` if ``choice`` wasn't
    provided in POST data. The above code checks for :exc:`KeyError` and
    redisplays the poll form with an error message if ``choice`` isn't given.
  
  * After incrementing the choice count, the code returns an
    :class:`~django.http.HttpResponseRedirect` rather than a normal
    :class:`~django.http.HttpResponse`.
    :class:`~django.http.HttpResponseRedirect` takes a single argument: the
 
</s> remove :exc:`~django.core.excpetions.MultipleObjectsReturned` exception is an
 </s> add :exc:`~django.core.exceptions.MultipleObjectsReturned` exception is an </s> remove Note that if a :class:`~django.forms.fields.Field` defines
:attr:`~Form.initial` *and* you include ``initial`` when instantiating the
``Form``, then the latter ``initial`` will have precedence. In this example,
``initial`` is provided both at the field level and at the form instance level,
and the latter gets precedence::
 </s> add Note that if a :class:`~django.forms.Field` defines :attr:`~Form.initial` *and*
you include ``initial`` when instantiating the ``Form``, then the latter
``initial`` will have precedence. In this example, ``initial`` is provided both
at the field level and at the form instance level, and the latter gets
precedence:: </s> remove The default form widget for this field is a
:class:`~django.forms.widgets.FileInput`.
 </s> add The default form widget for this field is a :class:`~django.forms.FileInput`. </s> remove a :exc:`~django.db.DoesNotExist` exception when appropriate.
 </s> add a :exc:`~django.core.exceptions.DoesNotExist` exception when appropriate. </s> remove     error reports for certain :mod:`contrib.views.auth` views (``login``,
    ``password_reset_confirm``, ``password_change``, and ``add_view`` and
    ``user_change_password`` in the ``auth`` admin) to prevent the leaking of
    sensitive information such as user passwords.
 </s> add     error reports for certain :mod:`django.contrib.auth.views` views (
    ``login``, ``password_reset_confirm``, ``password_change``, and
    ``add_view`` and ``user_change_password`` in the ``auth`` admin) to prevent
    the leaking of sensitive information such as user passwords.
* ``request.POST['choice']`` will raise :exc:`~exceptions.KeyError` if
  ``choice`` wasn't provided in POST data. The above code checks for
  :exc:`~exceptions.KeyError` and redisplays the poll form with an error
  message if ``choice`` isn't given.
    but we're explicitly using :attr:`request.POST
    <django.http.HttpRequest.POST>` in our code, to ensure that data is only
    altered via a POST call.
  
* ``request.POST['choice']`` will raise :exc:`~exceptions.KeyError` if
  ``choice`` wasn't provided in POST data. The above code checks for
  :exc:`~exceptions.KeyError` and redisplays the poll form with an error
  message if ``choice`` isn't given.
* ``request.POST['choice']`` will raise :exc:`~exceptions.KeyError` if
  ``choice`` wasn't provided in POST data. The above code checks for
  :exc:`~exceptions.KeyError` and redisplays the poll form with an error
  message if ``choice`` isn't given.
* ``request.POST['choice']`` will raise :exc:`~exceptions.KeyError` if
  ``choice`` wasn't provided in POST data. The above code checks for
  :exc:`~exceptions.KeyError` and redisplays the poll form with an error
  message if ``choice`` isn't given.
  
  * After incrementing the choice count, the code returns an
    :class:`~django.http.HttpResponseRedirect` rather than a normal
    :class:`~django.http.HttpResponse`.
    :class:`~django.http.HttpResponseRedirect` takes a single argument: the
keep keep keep keep replace replace replace keep keep keep keep keep
 Fixed broken links, round 3. refs #19516 
docs/intro/tutorial04.txt