<!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="prev" href="pyapi-util-fstor-fld.html" /> <link rel="parent" href="pyapi-util.html" /> <link rel="next" href="pyapi-cookie.html" /> <meta name='aesop' content='information' /> <title>4.6.4 Other functions</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.6.3 Field class" href="pyapi-util-fstor-fld.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.6 util - Miscellaneous" href="pyapi-util.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.7 Cookie - HTTP" href="pyapi-cookie.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-util-fstor-fld.html">4.6.3 Field class</A> <b class="navlabel">Up:</b> <a class="sectref" rel="parent" href="pyapi-util.html">4.6 util - Miscellaneous</A> <b class="navlabel">Next:</b> <a class="sectref" rel="next" href="pyapi-cookie.html">4.7 Cookie - HTTP</A> </div> <hr /></div> </DIV> <!--End of Navigation Panel--> <H2><A NAME="SECTION006640000000000000000"></A><A NAME="pyapi-util-funcs"></A> <BR> 4.6.4 Other functions </H2> <P> <dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline"> <td><nobr><b><tt id='l2h-225' xml:id='l2h-225' class="function">parse_qs</tt></b>(</nobr></td> <td><var>qs</var><big>[</big><var>, keep_blank_values, strict_parsing</var><big>]</big><var></var>)</td></tr></table></dt> <dd> <P> This function is functionally equivalent to the standard library <tt class="module">cgi</tt> <tt class="function">parse_qs</tt>, except that it is written in C and is much faster. <P> Parse a query string given as a string argument (data of type <span class="mimetype">application/x-www-form-urlencoded</span>). Data are returned as a dictionary. The dictionary keys are the unique query variable names and the values are lists of values for each name. <P> The optional argument <var>keep_blank_values</var> is a flag indicating whether blank values in URL encoded queries should be treated as blank strings. A true value indicates that blanks should be retained as blank strings. The default false value indicates that blank values are to be ignored and treated as if they were not included. <P> <div class="note"><b class="label">Note:</b> The <var>strict_parsing</var> argument is not yet implemented. </div> <P> </dl> <P> <dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline"> <td><nobr><b><tt id='l2h-226' xml:id='l2h-226' class="function">parse_qsl</tt></b>(</nobr></td> <td><var>qs</var><big>[</big><var>, keep_blank_values, strict_parsing</var><big>]</big><var></var>)</td></tr></table></dt> <dd> <P> This function is functionally equivalent to the standard library <tt class="module">cgi</tt> <tt class="function">parse_qsl</tt>, except that it is written in C and is much faster. <P> Parse a query string given as a string argument (data of type <span class="mimetype">application/x-www-form-urlencoded</span>). Data are returned as a list of name, value pairs. <P> The optional argument <var>keep_blank_values</var> is a flag indicating whether blank values in URL encoded queries should be treated as blank strings. A true value indicates that blanks should be retained as blank strings. The default false value indicates that blank values are to be ignored and treated as if they were not included. <P> <div class="note"><b class="label">Note:</b> The <var>strict_parsing</var> argument is not yet implemented. </div> <P> </dl> <P> <dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline"> <td><nobr><b><tt id='l2h-227' xml:id='l2h-227' class="function">redirect</tt></b>(</nobr></td> <td><var>req, location</var><big>[</big><var>, permanent=0, text=None</var><big>]</big><var></var>)</td></tr></table></dt> <dd> This is a convenience function to redirect the browser to another location. When <var>permanent</var> is true, <tt class="constant">MOVED_PERMANENTLY</tt> status is sent to the client, otherwise it is <tt class="constant">MOVED_TEMPORARILY</tt>. A short text is sent to the browser informing that the document has moved (for those rare browsers that do not support redirection); this text can be overridden by supplying a <var>text</var> string. <P> If this function is called after the headers have already been sent, an <tt class="exception">IOError</tt> is raised. <P> This function raises <tt class="exception">apache.SERVER_RETURN</tt> exception with a value of <tt class="constant">apache.DONE</tt> to ensuring that any later phases or stacked handlers do not run. If you do not want this, you can wrap the call to <tt class="function">redirect</tt> in a try/except block catching the <tt class="exception">apache.SERVER_RETURN</tt>. </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.6.3 Field class" href="pyapi-util-fstor-fld.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.6 util - Miscellaneous" href="pyapi-util.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.7 Cookie - HTTP" href="pyapi-cookie.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-util-fstor-fld.html">4.6.3 Field class</A> <b class="navlabel">Up:</b> <a class="sectref" rel="parent" href="pyapi-util.html">4.6 util - Miscellaneous</A> <b class="navlabel">Next:</b> <a class="sectref" rel="next" href="pyapi-cookie.html">4.7 Cookie - HTTP</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>