
Python Web 框架
|
663
HTTP
網
路
服
務
這個 webapp2 範例僅顯示了如何使用 webapp2 所提供的許多構建組塊中
的一些:app 物件、一個處理器、以及一個路由,準備回應(在這個例子
中,只是寫入它)。此範例也示範了如何藉由設定並使用一個 cookie,在
相同瀏覽器與伺服器的多次互動之間,維持最底限的狀態連續性。
如果這個 app 有多個路由,毫無疑問地,它會想要設定
lastvisit
cookie,
無論 app 是透過哪個路徑被「訪問」的。這裡示範了如何編寫一個基礎的
處理器類別(從它衍生出每個處理器!),讓它覆寫
dispatch
,然後藉由這
個覆寫來永遠都設定所需的 cookie:
class BaseHandler(webapp2.RequestHandler):
def dispatch(self):
webapp2.RequestHandler.dispatch(self)
now = datetime.datetime.now()
self.response.set_cookie('lastvisit', now.ctime(),
expires=now+one_year)
class Greeter(BaseHandler): ...
你現在可以從
Greeter.get
移除
self.response.set_cookie
呼叫,而 app 會
繼續正常運作。