Атрибут POST
Атрибут POST применяется к объекту запроса
request и возвращает словарь с данными,
которые были отправлены на сервер методом POST.
Чаще всего это поля HTML-формы. Если одно и
то же имя поля встречается несколько раз,
атрибут возвращает список значений.
Атрибут POST доступен только для чтения.
Если запрос не содержит POST-данных,
возвращается пустой словарь.
Синтаксис
request.POST
Пример
Давайте создадим форму и выведем значение
поля name, отправленного методом POST:
from bottle import Bottle, request
app = Bottle()
@app.route('/form')
def form():
return '''
<form method="post" action="/submit">
<input type="text" name="name">
<input type="submit">
</form>
'''
@app.route('/submit', method='POST')
def submit():
name = request.POST.get('name')
return name
Результат выполнения кода для поля
name со значением 'abcde':
abcde
Пример
Давайте обработаем несколько полей формы одновременно и вернём их в виде словаря:
from bottle import Bottle, request
app = Bottle()
@app.route('/submit', method='POST')
def submit():
login = request.POST.get('login')
password = request.POST.get('password')
return {'login': login, 'password': password}
Результат выполнения кода при отправке
полей login и password:
{'login': 'user', 'password': 'abcde'}
Пример
Давайте получим список значений, если одно имя поля встречается несколько раз:
from bottle import Bottle, request
app = Bottle()
@app.route('/submit', method='POST')
def submit():
values = request.POST.getall('item')
return {'items': values}
Результат выполнения кода при отправке
трёх значений поля item:
{'items': ['a', 'b', 'c']}