Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Revised the text in the 'Processing the data from a form' section.

  • Loading branch information...
commit 7ab6e32843e74176c71fc76219014e3c1f8f41b6 1 parent 3c05b50
@audreyr audreyr authored aaugustin committed
Showing with 21 additions and 13 deletions.
  1. +21 −13 docs/topics/forms/index.txt
View
34 docs/topics/forms/index.txt
@@ -131,25 +131,31 @@ The distinction between :ref:`ref-forms-api-bound-unbound` is important:
Handling file uploads with a form
---------------------------------
-To see how to handle file uploads with your form see
-:ref:`binding-uploaded-files` for more information.
+To see how to handle file uploads with your form, see
+:ref:`binding-uploaded-files`.
Processing the data from a form
-------------------------------
-Once ``is_valid()`` returns ``True``, you can process the form submission safe
-in the knowledge that it conforms to the validation rules defined by your form.
-While you could access ``request.POST`` directly at this point, it is better to
-access ``form.cleaned_data``. This data has not only been validated but will
-also be converted in to the relevant Python types for you. In the above example,
-``cc_myself`` will be a boolean value. Likewise, fields such as ``IntegerField``
-and ``FloatField`` convert values to a Python int and float respectively. Note
-that read-only fields are not available in ``form.cleaned_data`` (and setting
-a value in a custom ``clean()`` method won't have any effect) because these
+Once ``is_valid()`` returns ``True``, the successfully validated form data
+will be in the ``form.cleaned_data`` dictionary. This data will have been
+converted nicely into Python types for you.
+
+.. note::
+
+ You can still access the unvalidated data directly from ``request.POST`` at
+ this point, but the validated data is better.
+
+In the above example, ``cc_myself`` will be a boolean value. Likewise, fields
+such as ``IntegerField`` and ``FloatField`` convert values to a Python int and
+float respectively.
+
+Read-only fields are not available in ``form.cleaned_data`` (and setting
+a value in a custom ``clean()`` method won't have any effect). These
fields are displayed as text rather than as input elements, and thus are not
posted back to the server.
-Extending the above example, here's how the form data could be processed:
+Extending the earlier example, here's how the form data could be processed:
.. code-block:: python
@@ -167,7 +173,9 @@ Extending the above example, here's how the form data could be processed:
send_mail(subject, message, sender, recipients)
return HttpResponseRedirect('/thanks/') # Redirect after POST
-For more on sending email from Django, see :doc:`/topics/email`.
+.. tip::
+
+ For more on sending email from Django, see :doc:`/topics/email`.
Displaying a form using a template
----------------------------------
Please sign in to comment.
Something went wrong with that request. Please try again.