amagoのエンジニアブログ

IT関連のネタを中心に記事を書いてます。

【Flask入門】Python初心者がマインスイーパーを作ってみる② ~『Hello world』を表示する~

こんにちは、Amagoです。

進捗があったのでブログを書きます。

前回の記事を見ていないかたはこちらからお願いします。
hamaguchi-amago.hatenablog.com

前回の目標は『Hello world』を表示するところまでです。こちらは問題なく達成できました。スクリプト言語ってとっかかりやすくてとても良い。
f:id:hamaguchi_amago:20190521235822j:plain

というか、インストールから『Hello world』まではやり方が書いてあった。
www.pytry3g.com

『render_template』を使ってみる

思ったより順調だったので、もう少し開発を進めてみました。

次は、盤面ですかね、9×9のセルを作ってみようかと思います。
要素は何が良いのだろうか。。。

buttonですか?divですか?細かいことは気にせず『button』にしようと思います。

盤面を作るときは、セルを動的に生成したほうがよさそうです。
一旦は、Pythonで動的に値を設定してブラウザに表示されることを確認します。
また、Flaskには標準でJinja2というテンプレートエンジンが付いているので、それを使って書いていこうかと思います。やっとフレームワークを使ってる感が出てきましたね。

ここで少しハマったのでメモしておこうと思います。
 ・『render_template』が認識されない。
 『Minesweeper.py』と『index.html』を以下のように配置していたのですが。

Minesweeper
├── Minesweeper.py
└── index.html


これがダメだったみたいです。どうやらhtmlファイルは『templates』の配下に置かなければならないようで、サーバーエラーが出力されていました。

raise TemplateNotFound(template)

画像はありませんが、以下のフォルダ構成に直したところ正しく動くことが確認できました。

Minesweeper
├── Minesweeper.py
└── templates
        └── index.html

参考サイト
Flaskの簡単な使い方 - Qiita

次回目標

 cssの読み込みと9×9のセルを表示するところまで。