cpython: 053eb1db0bf8 (original) (raw)
Mercurial > cpython
changeset 86311:053eb1db0bf8 2.7
Issue #19198: Improved cross-references in the cgi module documentation. [#19198]
Serhiy Storchaka storchaka@gmail.com | |
---|---|
date | Sun, 13 Oct 2013 18:27:51 +0300 |
parents | a9f967c8d002 |
children | d513149e0c19 |
files | Doc/library/cgi.rst |
diffstat | 1 files changed, 17 insertions(+), 16 deletions(-)[+] [-] Doc/library/cgi.rst 33 |
line wrap: on
line diff
--- a/Doc/library/cgi.rst
+++ b/Doc/library/cgi.rst
@@ -97,7 +97,7 @@ consume standard input, it should be ins
The :class:FieldStorage
instance can be indexed like a Python dictionary.
It allows membership testing with the :keyword:in
operator, and also supports
-the standard dictionary method :meth:keys
and the built-in function
+the standard dictionary method :meth:~dict.keys
and the built-in function
:func:len
. Form fields containing empty strings are ignored and do not appear
in the dictionary; to keep such values, provide a true value for the optional
keep_blank_values keyword parameter when creating the :class:FieldStorage
@@ -119,28 +119,29 @@ string::
Here the fields, accessed through form[key]
, are themselves instances of
:class:FieldStorage
(or :class:MiniFieldStorage
, depending on the form
-encoding). The :attr:value
attribute of the instance yields the string value
-of the field. The :meth:getvalue
method returns this string value directly;
-it also accepts an optional second argument as a default to return if the
-requested key is not present.
+encoding). The :attr:~FieldStorage.value
attribute of the instance yields
+the string value of the field. The :meth:~FieldStorage.getvalue
method
+returns this string value directly; it also accepts an optional second argument
+as a default to return if the requested key is not present.
If the submitted form data contains more than one field with the same name, the
object retrieved by form[key]
is not a :class:FieldStorage
or
:class:MiniFieldStorage
instance but a list of such instances. Similarly, in
this situation, form.getvalue(key)
would return a list of strings. If you
expect this possibility (when your HTML form contains multiple fields with the
-same name), use the :func:getlist
function, which always returns a list of
-values (so that you do not need to special-case the single item case). For
-example, this code concatenates any number of username fields, separated by
-commas::
+same name), use the :meth:~FieldStorage.getlist
method, which always returns
+a list of values (so that you do not need to special-case the single item
+case). For example, this code concatenates any number of username fields,
+separated by commas::
value = form.getlist("username")
usernames = ",".join(value)
If a field represents an uploaded file, accessing the value via the
-:attr:value
attribute or the :func:getvalue
method reads the entire file in
-memory as a string. This may not be what you want. You can test for an uploaded
-file by testing either the :attr:filename
attribute or the :attr:!file
+:attr:~FieldStorage.value
attribute or the :func:~FieldStorage.getvalue
+method reads the entire file in memory as a string. This may not be what you
+want. You can test for an uploaded file by testing either the
+:attr:~FieldStorage.filename
attribute or the :attr:~FieldStorage.file
attribute. You can then read the data at leisure from the :attr:!file
attribute::
@@ -155,8 +156,8 @@ attribute::
If an error is encountered when obtaining the contents of an uploaded file
(for example, when the user interrupts the form submission by clicking on
-a Back or Cancel button) the :attr:done
attribute of the object for the
-field will be set to the value -1.
+a Back or Cancel button) the :attr:~FieldStorage.done
attribute of the
+object for the field will be set to the value -1.
The file upload draft standard entertains the possibility of uploading multiple
files from one field (using a recursive :mimetype:multipart/\*
encoding).
@@ -225,8 +226,8 @@ Therefore, the appropriate way to read f
code which checks whether the obtained value is a single value or a list of
values. That's annoying and leads to less readable scripts.
-A more convenient approach is to use the methods :meth:getfirst
and
-:meth:getlist
provided by this higher level interface.
+A more convenient approach is to use the methods :meth:~FieldStorage.getfirst
+and :meth:~FieldStorage.getlist
provided by this higher level interface.
.. method:: FieldStorage.getfirst(name[, default])