4
我剛想出如何在我的Google app引擎項目中使用python實現webapp2會話。代碼如下。我想知道的是最好的方法是什麼?我所做的是創建了一個python文件,並將BaseHandler代碼放入其中,然後我只需導入它,但我必須不斷地在每個python應用程序/文件中複製配置項。Webapp2在Google應用引擎中的會話
爲BaseHandler因爲我從網站得到的代碼:
class BaseHandler(webapp2.RequestHandler):
def dispatch(self):
# Get a session store for this request.
self.session_store = sessions.get_store(request=self.request)
try:
# Dispatch the request.
webapp2.RequestHandler.dispatch(self)
finally:
# Save all sessions.
self.session_store.save_sessions(self.response)
@webapp2.cached_property
def session(self):
# Returns a session using the default cookie key.
return self.session_store.get_session()
設置變量在一個會議上,我簡單地導入BaseHandler到應用程序,並調用下面就如同在例子:
self.session['name'] = name
爲了得到變量只是作爲例子:
name = self.session.get('name')
霸RT我在每個文件複製如下:
config = {}
config['webapp2_extras.sessions'] = {'secret_key': 'some-secret-key-to-use',}
app = webapp2.WSGIApplication([('/hello.*', MainHandler),
], config=config, debug=True)
這是去了解它,還是有更好的方法的最佳方式?謝謝
它看起來像你有很多的應用程序。爲什麼不使用單個應用程序和路由來「共享」應用程序和會話存儲。 – voscausa
我到目前爲止有3個想將應用程序分解爲其主要功能,而不是有一個大文件。在一個python腳本中構建整個應用程序的標準是什麼? – Tkingovr
沒有看到這個例子:http://webapp-improved.appspot.com/guide/routing.html#simple-routes你可以把處理程序放在另一個腳本文件中。 – voscausa