WTFormsと呼ばれるPythonライブラリを使用します。jinja2テンプレートを使用してレンダリングできるデータベースに裏打ちされたフォームやその他のウィジェットを作成するためのコードを作成するのに役立ちます。
class YourForm(Form):
your_field1 = TextField()
....
your_fieldn = SubmitField()
@app.route('/')
def view():
form=YourForm()
return render_template('your.html', form=form)
In your.html
<form >
{{ form.your_field1 }}
....
{{ form.your_fieldn }}
</form>
フォームの検証とレンダリングについては、このフラスコパターンを確認して、詳細を確認してください。
編集:すべてのテンプレートで使用できるグローバル変数を作成するには、次の2つの方法があります。
jinja環境のグローバルdictを使用できます。これはコードです:
app.jinja_env.globals.update({'variable':1})
ContextProcessorを使用できます。コード:
@app.context_processor
def inject_variable():
return dict(variable=1)
variable
これで、アプリの任意のテンプレートにアクセスできます。