Атрибут forms
Атрибут forms применяется к объекту запроса
request и возвращает словарь с данными,
которые были отправлены через HTML-форму методом POST.
Ключами словаря являются имена полей формы,
а значениями - введённые пользователем данные.
Атрибут доступен только для POST-запросов с типом
содержимого application/x-www-form-urlencoded
или multipart/form-data.
Синтаксис
request.forms
Пример
Давайте создадим форму с полем name
и выведем отправленное значение:
from bottle import Bottle, request
app = Bottle()
@app.route('/')
def index():
return '''
<form method="post" action="/send">
<input type="text" name="name">
<input type="submit">
</form>
'''
@app.route('/send', method='POST')
def send():
name = request.forms.get('name')
return 'hello ' + name
Результат выполнения кода для значения 'abcde':
hello abcde
Пример
Давайте обработаем форму с несколькими полями и выведем их значения:
from bottle import Bottle, request
app = Bottle()
@app.route('/send', method='POST')
def send():
login = request.forms.get('login')
email = request.forms.get('email')
return 'user: ' + login + ', email: ' + email
Результат выполнения кода для значений
'user' и 'user@example.com':
user: user, email: user@example.com
Пример
Давайте переберём все поля формы и выведем их в виде списка:
from bottle import Bottle, request
app = Bottle()
@app.route('/send', method='POST')
def send():
res = []
for key in request.forms:
res.append(key + ': ' + request.forms[key])
return ', '.join(res)
Результат выполнения кода для полей login
и email:
"login: user, email: user@example.com"