Класс MultiDict
Класс MultiDict применяется для хранения параметров,
у которых может быть несколько значений с одним и тем же
ключом. В Bottle он используется для представления данных
из query, forms и других источников.
При обращении по ключу возвращается первое значение,
а для получения всех значений предусмотрены отдельные методы.
Синтаксис
from bottle import MultiDict
md = MultiDict()
Пример
Давайте создадим объект MultiDict и добавим
в него несколько значений для одного ключа:
from bottle import MultiDict
md = MultiDict()
md['user'] = 'abcde'
md.append('user', 'hello')
md.append('user', 'article')
res = md['user']
print(res)
Результат выполнения кода:
"abcde"
Пример
Давайте получим все значения по ключу через метод getall:
from bottle import MultiDict
md = MultiDict()
md['user'] = 'abcde'
md.append('user', 'hello')
md.append('user', 'article')
res = md.getall('user')
print(res)
Результат выполнения кода:
['abcde', 'hello', 'article']
Пример
Давайте используем MultiDict для приёма параметров
из строки запроса в приложении Bottle:
from bottle import Bottle, request
app = Bottle()
@app.route('/')
def index():
res = request.query.getall('user')
return str(res)
Результат выполнения кода для адреса /?user=abcde&user=hello:
['abcde', 'hello']