class Application(tornado.web.Application):
def __init__(self):
handlers = [
(r"/", MainHandler),
(r"/auth/login", AuthLoginHandler),
(r"/auth/logout", AuthLogoutHandler),
(r"/auth/register",RegisterHandler),
(r'/user/([a-z\d.]{5,})/?',UserHandler),
(r'/user/([a-z\d.]{5,})/friends',UserFriendHandler),
(r'/user/([a-z\d.]{5,})/status',StatusHandler),
(r'/user/([a-z\d.]{5,})/wall',WallHandler),
(r'/actions/respond_friend',FriendActionHandler),
]
这是我的处理程序数组。这可能会增长得更多。我的问题涉及到这一行:
(r'/actions/respond_friend',FriendActionHandler),
我打算使用此行通过帖子回复朋友请求,将朋友用户名作为帖子参数。发送帖子时我将如何检索此参数(“存储”在哪里)?这样做是否更有意义:
(r'/user/([a-z\d.]{5,})/actions/respond_friend',FriendActionHandler),
答案 0 :(得分:1)
您可以使用get_argument
在帖子方法
username = self.get_argument('username', None)
我不知道通过网址传递用户名是否合理。如果你是,它会复制它以发布用户名。
如果url param与正则表达式不匹配,我认为龙卷风只会提高404.所以如果你需要对引发的错误进行更细粒度的控制,那么只需在帖子正文中发布用户名就更有意义了/ p>