Метод post класса MethodView
Метод post класса MethodView применяется для обработки POST-запросов, отправленных на определённый URL. Когда Flask получает POST-запрос, он вызывает именно этот метод, если он определён в классе представления. Метод не принимает обязательных параметров и должен возвращать ответ, например строку или результат вызова render_template.
Синтаксис
class MyView(MethodView):
def post(self):
# обработка POST-запроса
return response
Пример
Давайте создадим простое представление, которое принимает POST-запрос и возвращает строку 'abcde':
from flask import Flask
from flask.views import MethodView
app = Flask(__name__)
class MyView(MethodView):
def post(self):
return 'abcde'
app.add_url_rule('/submit', view_func=MyView.as_view('submit'))
Результат выполнения кода при отправке POST-запроса на адрес /submit:
abcde
Пример
Давайте обработаем данные формы, переданные методом POST, и вернём их обратно:
from flask import Flask, request
from flask.views import MethodView
app = Flask(__name__)
class FormView(MethodView):
def post(self):
name = request.form.get('name', 'user')
return f'hello, {name}'
app.add_url_rule('/form', view_func=FormView.as_view('form'))
Результат выполнения кода при отправке POST-запроса с полем name равным 'article':
hello, article
Смотрите также
-
класс
MethodView,
который лежит в основе представлений на классах -
метод
get,
который обрабатывает GET-запросы -
метод
dispatch_request,
который распределяет запросы по методам -
метод
as_view,
который преобразует класс в функцию представления