Конвертер float
Конвертер float применяется в маршрутах Flask
для преобразования сегмента URL в число с плавающей точкой.
Он указывается в угловых скобках после имени параметра
через двоеточие. Flask принимает только те адреса,
где сегмент является корректным числом с плавающей точкой,
и передаёт в функцию-обработчик значение типа float.
Если сегмент не является числом, возвращается ошибка 404.
Синтаксис
@app.route('/<float:name>')
Пример
Давайте повесим обработчик на адрес '/price/<float:value>'
и выведем полученное число:
from flask import Flask
app = Flask(__name__)
@app.route('/price/<float:value>')
def price(value):
return f'Price: {value}'
Результат выполнения кода для адреса /price/3.14:
Пример
Давайте выполним арифметические действия над числом, полученным из URL:
from flask import Flask
app = Flask(__name__)
@app.route('/double/<float:num>')
def double(num):
res = num * 2
return f'Result: {res}'
Результат выполнения кода для адреса /double/2.5:
Пример
Давайте передадим число с плавающей точкой в шаблон:
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/item/<float:price>')
def item(price):
return render_template('item.html', price=price)
Шаблон для вывода цены:
Price: {{ price }}
<-jinja+>
Результат выполнения кода для адреса /item/9.99:
Price: 9.99
<-html+>