无法在 python 2.7 的 Webapp2 中接受多个输入?

Not able to taking multiple inputs in Webapp2 in python 2.7?

我正在使用此代码将两个数字相加

import webapp2


class HomeHandler(webapp2.RequestHandler):
    def get(self):
        self.response.write('This is the HomeHandler.')


class AddHandler(webapp2.RequestHandler):
    def get(self, num1, num2):
        num3 = int(num2)+int(num1)
        self.response.write('The sum of the numbers is- %d' % num3)


app = webapp2.WSGIApplication([
    webapp2.Route(r'/', handler=HomeHandler, name='home'),

    webapp2.Route(r'/add/<num1:\d+>/<num2:\d+>',
                  handler=AddHandler, name='add')

], debug=True, config=config)

# app.router.add((r'/add/<num1:\d+>/<num2:\d+>', handler=AddHandler, name='add'))

print(app)
# app = webapp2.WSGIApplication([
#     (r'/', HomeHandler),
#     (r'/products', ProductListHandler),
#     (r'/products/(\d+)', ProductHandler),
# ])


def main():
    from paste import httpserver
    httpserver.serve(app, host='127.0.0.1', port='8080')


if __name__ == '__main__':
    main()

我正在使用这个 url 将两个数字相加 http://127.0.0.1:8080/add/3/4

但我希望所有输入都在单 / 前- http://127.0.0.1:8080/divide/a=3&b=3

在接受输入后,我必须将它们转换为整数才能添加它们,这是否可以不进行转换?

请问如何操作?

And after taking the input i have to cast them to integer to add them and is this possible without casting?

首先,我强烈建议升级到 Python 3.X,因为 Python 2.X 的使用寿命已经结束。我建议切换到像 Flask 这样的库,因为 webapp2 不支持 Python 3.

此外 Google Cloud 强烈建议升级您的 Google App Engine 应用程序 here:

The Python community will sunset Python 2 on January 1, 2020, and are encouraging all developers to upgrade to Python 3 as soon as they can. In recognition that customers may need more time to migrate from Python 2 to Python 3, Google Cloud customers will be able to run Python 2 apps and use existing Python 2 client libraries after January 1, 2020.

就转换而言,似乎每次您想将整数传递给 URL 时都需要进行转换。

你可以像 Regex to parse the value that comes from the URL to check if it is a number 这样的东西。

如果是,您可以将其解析为整数。

至于输入全部在斜杠之后,你可以使用post中提到的解决方案。

不仅效率更高,而且还经得起时间考验,因为它们是 Python 3 中的示例,您可以在将 Python 2.X 应用程序升级到 [=43= 后立即使用] 3.X.

Not able to taking multiple inputs in Webapp2 in python 2.7?

是的,你真的可以做到。我附上了一个 post 可能对您有帮助的示例,其中包含有关如何在 webapp2 中检索多个输入的示例。

希望对您有所帮助。