Я не могу понять, как работают представления на основе классов в Flask.Я нахожу документацию невероятно запутывающей и мало чем помогающей.
Моя главная проблема в том, что я не знаю, как обрабатывать отправленную форму (например) и возвращать другой шаблон,что в представлении функций не является большой проблемой:
@app.route('/', methods=['GET', 'POST'])
@app.route('/index', methods=['GET', 'POST'])
def index():
form = LoginForm()
if form.validate_on_submit():
#...processing request...
user = form.data.username
return render_template('second_page.html', user = user)
payload = {
'form': form,
}
return render_template('index.html', payload=payload)
Я не могу понять это с помощью примеров в документе:
from flask.views import View
class ListView(View):
def get_template_name(self):
raise NotImplementedError()
def render_template(self, context):
return render_template(self.get_template_name(), **context)
def dispatch_request(self):
context = {'objects': self.get_objects()}
return self.render_template(context)
class UserView(ListView):
def get_template_name(self):
return 'users.html'
def get_objects(self):
return User.query.all()
Используя эти примеры, я могу приступить к работеотдельные шаблоны, но как только мне нужно передать данные между ними, я застреваю.Может ли кто-нибудь помочь мне с этим, или указать на хорошую документацию или учебные пособия?Кажется, что не так уж много, даже большинство документов Flask, похоже, продолжают обсуждать представления на основе функций после обсуждения представлений на основе классов ..
Заранее спасибо!