В настоящее время я пишу флеш-приложение. Один из моих взглядов имеет очень сложную бизнес-логику, поэтому я переместил ее в класс, объявленный вне представления. В конструкторе этого класса я создаю несколько экземпляров объектов flask_wtf.form.Form
.Как создать экземпляр формы вне представления?
Моя проблема заключается в том, что во время выполнения я получаю следующее сообщение об ошибке:
*** RuntimeError: Working outside of application context.
This typically means that you attempted to use functionality that needed
to interface with the current application object in a way. To solve
this set up an application context with app.app_context(). See the
documentation for more information.
(ipdb
это мое)
Я предполагаю, что объекты формы должны быть в представлении? Но я хочу переместить работу по созданию их в отдельный класс, чтобы представление не стало слишком сложным, иначе оно неуправляемо.
Мне это нравится. У меня очень сложная логика для создания экземпляров форм, и теперь мне нужно переместить все это в представление. – ruipacheco
Переместите его в метод, который вы вызываете из представления. Создание формы вне контекста, где у вас есть данные для него, не так, как WTForms. – davidism