Tornado Web サーバーのガイドラインに従って記述された Python ページにハンドラーがあります。このハンドラーを別のページに配置し、常に Tornado のメインの Python ページにリンクします。
そのようにして、数千行のユニークなページではなく、素敵なプロジェクトを作成できるように、新しいページを作成できますか?
どうもありがとうございました。
class BaseHandler(tornado.web.RequestHandler):
@tornado.web.removeslash
def get_current_user(self):
return self.get_secure_cookie("mechtari")
@property
def db(self):
if not hasattr(BaseHandler,"_db"):
_db = pymongo.Connection().essog
return _db
@property
def fs(self):
if not hasattr(BaseHandler,"_fs"):
_fs = gridfs.GridFS(self.db)
return _fs
これから行うことはすべて、このハンドラーから継承されます。
class LoginHandler(BaseHandler):
def post(self):
# do a database search, so i need to connect to database, so no need to the database everytime and make the connection.
class AchatsHandler(BaseHandler):
@tornado.web.authenticated
def get(self):
# render me a page that requires a user to be authentificated, so i always use the base handler
URL仕様では、クラスの名前を正確に指定して、それらをURLにバインドします。
urls = [
(r"/login", handlers.LoginHandler),
(r"/achats/*", handlers.AchatsHandler),
]
URL ディクショナリに BaseHandler がありません。