2013-05-19 12 views
13

Oto mój kod:pyton tornado get URL żądania

class MainHandler(tornado.web.RequestHandler): 
    def get(self): 
     self.write(self.request.url) 

def main(): 
    settings = {"template_path": "html","static_path": "static"} 
    tornado.options.parse_command_line() 
    application = tornado.web.Application([ 
     (r"/story/page1", MainHandler), 
     ],**settings) 

Chcę uzyskać ciąg "/ historia/Strona1". w jaki sposób ?

+0

możesz być bardziej precyzyjny? co otrzymujesz na razie? – octoback

Odpowiedz

21

Można uzyskać aktualne url wewnątrz RequestHandler użyciu self.request.uri:

class MainHandler(tornado.web.RequestHandler): 
    def get(self): 
     self.write(self.request.uri) 
+0

dziękuję za pomoc. to działa –

+9

Jeśli chcesz pełny adres URL: self.request.protocol + ": //" + self.request.host + self.request.uri – nagylzs

+0

Aby uzyskać pełny adres URL, tornado zapewnia self.request.full_url() w RequestHandlers. –

3

myślę czego szukasz self.request.path. Zobacz funkcje dostępne dla HTTPServerRequest.

class MainHandler(tornado.web.RequestHandler): 
    def get(self): 
     self.write(self.request.path)