Flask による Web アプリケーションにパラメータをプリセットするだけです。
ソースコードは以下です。
https://github.com/CookieBox26/flask-sample
やったこと
この Web アプリケーションは都道府県と市町村を入力して実行すると「XのYに住みたいです。」と画面に表示してくれます (左)。ただ、都道府県と市町村を入力するのは面倒です。そこで、左上の「入力パラメータ読込」プルダウンから選択すると (中) パラメータをプリセットします (右)。
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F177688%2F563a8311-2f47-b75e-0339-80567be728ab.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=5b6f60efaa47fb58becbd0c090360312)
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F177688%2F4d571e2f-9ff1-ed5f-90d6-8c3f9852fcc7.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=2920b8eeaf86a55893a5546abf0804d2)
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F177688%2F2ccf779e-718b-2319-978d-d64fb54c628a.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=45dd50a3e340666d5e2dd54f3cc5726d)
大まかな説明
- 前提として、HTML テンプレートに渡す変数たちの入れ物として Variables というクラスを定義しています。
- 入れ物クラスのクラス変数にプリセットパラメータたち (それぞれに識別ラベルを付ける) を記述します。
- HTML テンプレートからプリセットパラメータたちを参照し、プルダウンメニュー (select 要素) を作成します。ただし、onchange 属性に this.form.submit() を設定して、いずれかのプリセットパラメータが選択されたときにフォームデータを送信するようにします。
- 「実行する」ボタンを押したときもフォームデータは送信されますが、このときは送信データにボタンの名前 btn_exec が含まれるので、この名前の有無で「実行する」を押されたのかプリセットパラメータが選択されたのか識別できます。