开发者

Pass one parameter in a Tornado HttpGet with several parameters

I want pass one parameter in a Url (to update one of many paramaters contained by my URL) like this:

httpGet.setURI(new URI(url/user?"nickname"="John") 

ServerSide in Python:

class GetInfo(BaseHandler):
  def Get(self):
        nickname = self.get_argument("nickname")
        gender = self.get_argument("gender")
        logging.info(nickname)
        logging.info(gender)

  application = tornado.web.Application([
  (r"/", MainHandler),
  (r"/user", GetInfo),
  ])

The server to开发者_如何学JAVAld me that I can't do this because the parameter "gender" is missing. How can I do?

Thanks


First your URI seems to be wrong.

httpGet.setURI(new URI(url + "/user?nickname=John") 

And if you test from emulator to webserver and you use both on the same machine, use the IP address of the server instead of something like localhost or 127.0.0.1

Example:

String url = "http://192.168.1.104";
httpGet.setURI(new URI(url + "/user?nickname=John");

Edit: The answer to this OP is below:

it seems from the example at tornadoweb.org/documentation that you can set a default value. So you can try something like gender = self.get_argument("gender",None) . So gender should be set to None if you dont pass any gender parameter in the query string

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜