ずっとVB.NETのレガシーなプログラムを書いてるおっさんではあるが、最近の技術についていくためにも、ひとまずPythonを学びWebアプリをサクッと作れるようにはなっておきたいと考え、その記録をblogに残す事とした。面倒臭いけどこういうの大事かもな、と言う自己満足である
ひとまず以下のサイトを参考にした。そのため、使うテンプレートはjinja2である。
「bottle」+「jinja2」を使ってサイト構築 1
こんな風にフォルダを掘って、準備。
実行ファイルが run.py、その他テンプレート定義のファイルとか画像とかはそれぞれのフォルダに格納していくらしい。
ソースコードを読み解いていくと、template('')関数からテンプレートを読み込んだ結果を文字列で返し、それをウェブブラウザにするという構造のようだ
![テンプレート設定.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F258622%2F39977059-b128-b414-8b42-98c77dfab1a0.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=067b9623451fa533e39148a83cced65f)
![ソース指定.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F258622%2F24069fb8-7426-7b46-a49c-e5d6675d3c66.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=8cbd5b6c958f217548017972dd11965b)
そう考えられたので、適当にいじり倒してみることにする。
上記のように変更した後実行すると、文言を変更したnext.tplの内容を元にしたページを開けるようになった。テンプレートの指定はこれで良いというのが判る。
テンプレートとしてフォームを設定することも出来る。受け取るためには当然フォームに名前を設定しなければならない。
上にあるようにフォームに設定した name を、
こんな風に request モジュールを使って取得する。formsの後ろにフォームの name に設定した文字列を入れることで文字列が取得できる。
テンプレートに変数を組み込みたかったら、このようにする。
こうした上で、コード側でテンプレートを開くときに以下のように記述すると、テンプレートをブラウザで開く際、指定の変数定義の部分を置き換えてくれる。
![コード側の置きかえ実装.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F258622%2Fca06c07c-4076-5018-d7da-7c44392ddbde.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=b101348aa40762086ed3784b63d640fc)
requestモジュールの使い方に関してはここを参考にあちこち見て回った。
とりあえず、ザックリとした概要、簡単な使い方は理解した。
自宅でもsqlite3モジュールを利用したデータベースを使ったデータ管理も覚えたし、これで少し勝手なWebアプリが開発できそう。
とりあえずメール送信機能を実装した上で、なんかわかりやすくて自分だけ使いそうなアプリを組もう。
まずは一つ賢くなったところで、少し本格的に動くモノを作ってみたい。