Как отправить несколько параметров на маршрут, используя колбу? - PullRequest
0 голосов
/ 16 декабря 2018

Я недавно начал изучать инфраструктуру Flask и создал короткую программу для понимания цикла request/response в колбе.

Моя проблема в том, что последний метод, называемый calc, не работает.

Я отправляю запрос как:

http://127.0.0.1/math/calculate/7/6

и получаю ошибку:

" Not Found : запрошенный URL-адрес не найден на сервере. Если вы ввели URL-адрес вручную, проверьте правильность написания и повторите попытку. "

Ниже приведен код приложения моей фляги:

from flask import Flask
app = Flask(__name__)

@app.route('/')
def index():
    return "<h1>Hello, World!</h1>"

@app.route('/user/<name>')
def user(name):
    return '<h1>Hello, {0}!</h1>'.format(name)

@app.route('/math/calculate/<string:var1>/<int:var2>')
def calc(var1, var2):
    return  '<h1>Result: {0}!</h1>'.format(int(var1)+int(var2))

if __name__ == '__main__':
      app.run(host='0.0.0.0', port=80, debug=True)

1 Ответ

0 голосов
/ 16 декабря 2018

Для доступа к аргументам запроса, как описано в вашем комментарии, вы можете использовать библиотеку запросов:

from flask import request

@app.route('/math/calculate/')
def calc():
    var1 = request.args.get('var1',1,type=int)
    var2 = request.args.get('var2',1,type=int)
    return '<h1>Result: %s</h1>' % str(var1+var2)

Документация для этого метода задокументирована здесь:

http://flask.pocoo.org/docs/1.0/api/#flask.Request.args

прототип метода get для извлечения значения ключей из request.args:

get (ключ, по умолчанию = нет, тип = нет)

...