<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <link rel="STYLESHEET" href="modpython.css" type='text/css' /> <link rel="first" href="modpython.html" title='Mod_python Manual' /> <link rel='contents' href='contents.html' title="Contents" /> <link rel='index' href='genindex.html' title='Index' /> <link rel='last' href='about.html' title='About this document...' /> <link rel='help' href='about.html' title='About this document...' /> <link rel="next" href="pyapi-mprequest.html" /> <link rel="prev" href="pyapi-apmem.html" /> <link rel="parent" href="module-apache.html" /> <link rel="next" href="pyapi-mprequest.html" /> <meta name='aesop' content='information' /> <title>4.5.3 Table Object (mp_table)</title> </head> <body> <DIV CLASS="navigation"> <div id='top-navigation-panel' xml:id='top-navigation-panel'> <table align="center" width="100%" cellpadding="0" cellspacing="2"> <tr> <td class='online-navigation'><a rel="prev" title="4.5.2 Attributes" href="pyapi-apmem.html"><img src='previous.png' border='0' height='32' alt='Previous Page' width='32' /></A></td> <td class='online-navigation'><a rel="parent" title="4.5 apache - Access" href="module-apache.html"><img src='up.png' border='0' height='32' alt='Up One Level' width='32' /></A></td> <td class='online-navigation'><a rel="next" title="4.5.4 Request Object" href="pyapi-mprequest.html"><img src='next.png' border='0' height='32' alt='Next Page' width='32' /></A></td> <td align="center" width="100%">Mod_python Manual</td> <td class='online-navigation'><a rel="contents" title="Table of Contents" href="contents.html"><img src='contents.png' border='0' height='32' alt='Contents' width='32' /></A></td> <td class='online-navigation'><img src='blank.png' border='0' height='32' alt='' width='32' /></td> <td class='online-navigation'><a rel="index" title="Index" href="genindex.html"><img src='index.png' border='0' height='32' alt='Index' width='32' /></A></td> </tr></table> <div class='online-navigation'> <b class="navlabel">Previous:</b> <a class="sectref" rel="prev" href="pyapi-apmem.html">4.5.2 Attributes</A> <b class="navlabel">Up:</b> <a class="sectref" rel="parent" href="module-apache.html">4.5 apache - Access</A> <b class="navlabel">Next:</b> <a class="sectref" rel="next" href="pyapi-mprequest.html">4.5.4 Request Object</A> </div> <hr /></div> </DIV> <!--End of Navigation Panel--> <H2><A NAME="SECTION006530000000000000000"></A><A NAME="pyapi-mptable"></A> <BR> 4.5.3 Table Object (mp_table)<a id='l2h-43' xml:id='l2h-43'></a> </H2> <P> <a id='l2h-46' xml:id='l2h-46'></a> <dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline"> <td><nobr><b><span class="typelabel">class</span> <tt id='l2h-44' xml:id='l2h-44' class="class">table</tt></b>(</nobr></td> <td><var></var><big>[</big><var>mapping-or-sequence</var><big>]</big><var></var>)</td></tr></table></dt> <dd> Returns a new empty object of type <code>mp_table</code>. See Section <A HREF="#pyapi-mptable">4.5.3</A> for description of the table object. The <var>mapping-or-sequence</var> will be used to provide initial values for the table. <P> The table object is a wrapper around the Apache APR table. The table object behaves very much like a dictionary (including the Python 2.2 features such as support of the <code>in</code> operator, etc.), with the following differences: <P> <UL> <LI>Both keys and values must be strings. </LI> <LI>Key lookups are case-insensitive. </LI> <LI>Duplicate keys are allowed (see <tt class="method">add()</tt> below). When there is more than one value for a key, a subscript operation returns a list. </LI> </UL> <P> Much of the information that Apache uses is stored in tables. For example, <tt class="member">req.headers_in</tt> and <tt class="member">req.headers_out</tt>. <P> All the tables that mod_python provides inside the request object are actual mappings to the Apache structures, so changing the Python table also changes the underlying Apache table. <P> In addition to normal dictionary-like behavior, the table object also has the following method: <P> <dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline"> <td><nobr><b><tt id='l2h-45' xml:id='l2h-45' class="method">add</tt></b>(</nobr></td> <td><var>key, val</var>)</td></tr></table></dt> <dd> <tt class="function">add()</tt> allows for creating duplicate keys, which is useful when multiple headers, such as <code>Set-Cookie:</code> are required. </dl> <P> <span class="versionnote">New in version 3.0.</span> </dl> <P> <DIV CLASS="navigation"> <div class='online-navigation'> <p></p><hr /> <table align="center" width="100%" cellpadding="0" cellspacing="2"> <tr> <td class='online-navigation'><a rel="prev" title="4.5.2 Attributes" href="pyapi-apmem.html"><img src='previous.png' border='0' height='32' alt='Previous Page' width='32' /></A></td> <td class='online-navigation'><a rel="parent" title="4.5 apache - Access" href="module-apache.html"><img src='up.png' border='0' height='32' alt='Up One Level' width='32' /></A></td> <td class='online-navigation'><a rel="next" title="4.5.4 Request Object" href="pyapi-mprequest.html"><img src='next.png' border='0' height='32' alt='Next Page' width='32' /></A></td> <td align="center" width="100%">Mod_python Manual</td> <td class='online-navigation'><a rel="contents" title="Table of Contents" href="contents.html"><img src='contents.png' border='0' height='32' alt='Contents' width='32' /></A></td> <td class='online-navigation'><img src='blank.png' border='0' height='32' alt='' width='32' /></td> <td class='online-navigation'><a rel="index" title="Index" href="genindex.html"><img src='index.png' border='0' height='32' alt='Index' width='32' /></A></td> </tr></table> <div class='online-navigation'> <b class="navlabel">Previous:</b> <a class="sectref" rel="prev" href="pyapi-apmem.html">4.5.2 Attributes</A> <b class="navlabel">Up:</b> <a class="sectref" rel="parent" href="module-apache.html">4.5 apache - Access</A> <b class="navlabel">Next:</b> <a class="sectref" rel="next" href="pyapi-mprequest.html">4.5.4 Request Object</A> </div> </div> <hr /> <span class="release-info">Release 3.3.1, documentation updated on January 29, 2007.</span> </DIV> <!--End of Navigation Panel--> </BODY> </HTML>