上一篇文章說到了web.py初探之第一個頁面hello word,下面我們繼續深入web.py編程,來說一下web.py的cookie設定。
cookie相信學過web程式設計的人並不陌生,它在web程式設計中扮演著非常重要的角色。使用者登入、驗證碼、session(基於cookie)、語言選擇器、識別等等都會有cookie的身影。那麼怎麼樣在web.py中設定cookie呢?
其實在web.py中設定cookie非常簡單,web.py早就為我們想到了這一點,提供了一個非常簡單有用的函數:
setcookie(name, value, expires="", domain=None, secure=False)
(string) - Cookie的名稱,由瀏覽器儲存並傳送至伺服器。
value (string) -Cookie的值,與Cookie的名稱相對應。
expires (int) - Cookie的過期時間,這是一個可選參數,它決定cookie有效時間是多久。以秒為單位。它必須是一個整數,而絕不能是字串。可選參數,不寫該參數則預設永久有效。
domain (string) - Cookie的有效域-在該域內cookie才是有效的。一般情況下,要在某站點內可用,該參數值該寫做站點的域(例如.webpy.org),而不是站主的主機名(如wiki.webpy.org),可選參數
secure (bool)- 若為True,要求該Cookie只能透過HTTPS傳輸。選用參數
例如:
#设置website的值为www.pythontab.com,有效期60秒 web.setcookie("website", "www.pythontab.com", 60)
範例
,
class CookieSet: def GET(self): i = web.input(age='25') web.setcookie('age', i.age, 3600) return "Age set in your cookie"
):
#通过设置的cookie的名字获取cookie,例如website #web.cookies().get("website") web.cookies().get(cookieName)
#先把cookie对象赋值给一个变量,然后通过cookie的名字获得 #例如:foo.website foo = web.cookies() foo.cookieName
可以這樣做:
#该方法最大的特点就是可以设置cookie的默认值 foo = web.cookies(cookieName=defaultValue) #如果不存在该cookieName,就会返回设置的默认cookie foo.cookieName
或
class CookieGet: def GET(self): try: return "Your website name is: " + web.cookies().website except: #抛出异常处理 return "Cookie 不存在."