0
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),
4

1 に答える 1

1

get_argumentpostメソッド内でリクエストパラメータを取得するために使用できます

username = self.get_argument('username', None)

URL を介してユーザー名を渡すことが理にかなっているのかどうかはわかりません。もしそうなら、それを複製してユーザー名も投稿します。

URL パラメーターが正規表現と一致しない場合、トルネードは 404 を発生させるだけだと思います。したがって、発生するエラーをより細かく制御する必要がある場合は、投稿本文にユーザー名を投稿するだけの方が理にかなっています。

于 2013-02-09T04:26:36.113 に答える