File: node19.html

package info (click to toggle)
cherrypy 0.10-1
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 10,324 kB
  • ctags: 1,759
  • sloc: python: 14,411; sh: 6,915; perl: 2,472; makefile: 76
file content (146 lines) | stat: -rw-r--r-- 5,503 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>18. How to use cookies with CherryPy</title>
<META NAME="description" CONTENT="18. How to use cookies with CherryPy">
<META NAME="keywords" CONTENT="howto">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="STYLESHEET" href="howto.css" type='text/css'>
<link rel="first" href="howto.html">
<link rel="contents" href="contents.html" title="Contents">

<LINK REL="next" HREF="node20.html">
<LINK REL="previous" HREF="node18.html">
<LINK REL="up" HREF="howto.html">
<LINK REL="next" HREF="node20.html">
<meta name='aesop' content='information'>
</head>
<body>
<DIV CLASS="navigation">
<table align="center" width="100%" cellpadding="0" cellspacing="2">
<tr>
<td><A HREF="node18.html"><img src="../icons/previous.gif"
  border="0" height="32"
  alt="Previous Page" width="32"></A></td>
<td><A HREF="howto.html"><img src="../icons/up.gif"
  border="0" height="32"
  alt="Up One Level" width="32"></A></td>
<td><A HREF="node20.html"><img src="../icons/next.gif"
  border="0" height="32"
  alt="Next Page" width="32"></A></td>
<td align="center" width="100%">CherryPy HowTo</td>
<td><A HREF="node1.html"><img src="../icons/contents.gif"
  border="0" height="32"
  alt="Contents" width="32"></A></td>
<td><img src="../icons/blank.gif"
  border="0" height="32"
  alt="" width="32"></td>
<td><img src="../icons/blank.gif"
  border="0" height="32"
  alt="" width="32"></td>
</tr></table>
<b class="navlabel">Previous:</b> <a class="sectref" HREF="node18.html">17. How to use</A>
<b class="navlabel">Up:</b> <a class="sectref" HREF="howto.html">CherryPy HowTo</A>
<b class="navlabel">Next:</b> <a class="sectref" HREF="node20.html">19. How to use</A>
<br><hr>
</DIV>
<!--End of Navigation Panel-->
<!--Table of Child-Links-->
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></a>

<UL CLASS="ChildLinks">
<LI><A href="node19.html#SECTION0019100000000000000000">18.1 Setting cookies</a>
<LI><A href="node19.html#SECTION0019200000000000000000">18.2 Reading cookies</a>
</ul>
<!--End of Table of Child-Links-->
<HR>

<H1><A NAME="SECTION0019000000000000000000">
18. How to use cookies with CherryPy</A>
</H1>
CherryPy uses the <var>Cookie</var> module from python and in particular the <var>SimpleCookie</var> object type to handle cookies.
More information can be found here: <a class="url" href="http://www.python.org/doc/current/lib/module-Cookie.html">http://www.python.org/doc/current/lib/module-Cookie.html</a>
<P>

<H1><A NAME="SECTION0019100000000000000000">
18.1 Setting cookies</A>
</H1>
In order to send a cookie to a browser, you have to use the global variable <var>response.simpleCookie</var>, which is
a <var>SimpleCookie</var> object.

<P>
The following code shows how to set a cookie in your CherryPy code:
<div class="verbatim"><pre>
CherryClass Root:
view:
    def index(self):
        response.simpleCookie['cookieName']='cookieValue'
        response.simpleCookie['cookieName']['path']='/'
        response.simpleCookie['cookieName']['max-age']=3600
        response.simpleCookie['cookieName']['version']=1
        return "&lt;html&gt;&lt;body&gt;Hello, I just sent you a cookie&lt;/body&gt;&lt;/html&gt;"
</pre></div>

<P>

<H1><A NAME="SECTION0019200000000000000000">
18.2 Reading cookies</A>
</H1>
Cookies that are sent by a browser are stored in the global variable <var>response.simpleCookie</var>, which is
a <var>SimpleCookie</var> object.

<P>
The following code shows how to read a cookie in your CherryPy code:
<div class="verbatim"><pre>
CherryClass Root:
mask:
    def index(self):
        &lt;html&gt;&lt;body&gt;
            Hi, you sent me &lt;py-eval="len(request.simpleCookie)"&gt; cookies.&lt;br&gt;
            Here is a list of cookie names/values:&lt;br&gt;
            &lt;py-for="cookieName in request.simpleCookie.keys()"&gt;
                &lt;py-eval="cookieName+': '+request.simpleCookie[cookieName].value"&gt;&lt;br&gt;
            &lt;/py-for&gt;
        &lt;/body&gt;&lt;/html&gt;
</pre></div>

<P>

<DIV CLASS="navigation">
<p><hr>
<table align="center" width="100%" cellpadding="0" cellspacing="2">
<tr>
<td><A HREF="node18.html"><img src="../icons/previous.gif"
  border="0" height="32"
  alt="Previous Page" width="32"></A></td>
<td><A HREF="howto.html"><img src="../icons/up.gif"
  border="0" height="32"
  alt="Up One Level" width="32"></A></td>
<td><A HREF="node20.html"><img src="../icons/next.gif"
  border="0" height="32"
  alt="Next Page" width="32"></A></td>
<td align="center" width="100%">CherryPy HowTo</td>
<td><A HREF="node1.html"><img src="../icons/contents.gif"
  border="0" height="32"
  alt="Contents" width="32"></A></td>
<td><img src="../icons/blank.gif"
  border="0" height="32"
  alt="" width="32"></td>
<td><img src="../icons/blank.gif"
  border="0" height="32"
  alt="" width="32"></td>
</tr></table>
<b class="navlabel">Previous:</b> <a class="sectref" HREF="node18.html">17. How to use</A>
<b class="navlabel">Up:</b> <a class="sectref" HREF="howto.html">CherryPy HowTo</A>
<b class="navlabel">Next:</b> <a class="sectref" HREF="node20.html">19. How to use</A>
<hr>
<span class="release-info">Release 0.10, documentation updated on 19 March 2004.</span>
</DIV>
<!--End of Navigation Panel-->
<ADDRESS>
See <i><a href="about.html">About this document...</a></i> for information on suggesting changes.
</ADDRESS>
</BODY>
</HTML>