Конвертер any
Конвертер any применяется в правилах URL Flask
и указывается в угловых скобках после имени параметра
через двоеточие. Он сообщает маршрутизатору, что параметр
может соответствовать любому из перечисленных конвертеров.
Первым в списке указывается конвертер, который срабатывает
по умолчанию, если значение не удалось привести к другим типам.
Синтаксис
@app.route('/<any(converter1, converter2):name>')
Пример
Давайте создадим маршрут, который принимает либо целое число, либо строку:
from flask import Flask
app = Flask(__name__)
@app.route('/<any(int, string):value>')
def show(value):
return f'value: {value}, type: {type(value).__name__}'
Результат выполнения кода для адреса /123:
value: 123, type: int
Результат выполнения кода для адреса /abcde:
value: abcde, type: str
Пример
Давайте создадим маршрут, который принимает число с плавающей точкой или целое число:
from flask import Flask
app = Flask(__name__)
@app.route('/<any(float, int):value>')
def show(value):
return f'value: {value}, type: {type(value).__name__}'
Результат выполнения кода для адреса /3.14:
value: 3.14, type: float
Результат выполнения кода для адреса /42:
value: 42, type: int