【Flask】掲示板アプリの作り方

前回までの記事でFlaskの基本であるレイアウトとセッションの概念を学びました。

ユーザの識別やレイアウトの統一ができたところで、シンプルな掲示板アプリを作ってみました。

掲示板アプリと言っても基本さえ分かっていれば、特に苦労することはありません。

フォームでメッセージを受け付けて、それをテンプレートに表示させるだけです。

スポンサーリンク

以下が作ってみた掲示板アプリです。

基本的な処理は以下の通り。

  • POST時は、投稿したメッセージ+投稿したユーザをリストに保存する
  • GET時は、リストを新しい順に繰り返して、HTMLファイルに出力する。

この2つの基本さえ分かっていれば実装自体は難しくありません。

私は1時間ほどで実装できました。

以下に実装したコードを載せておきます。

index.html

ポイントは、jinjaのfor文フィルターですね。

投稿するメッセージを羅列するときに、jinjaで繰り返し処理を書く必要があります。

{% for ~ in ~ %}の部分がjinjaでの繰り返し処理になります。

そのままメッセージを取り出すと古い順になってしまうので、reverseフィルターを使って逆順にしています。

また、面倒なので投稿メッセージの文字列チェックはしていません。

本番環境にリリースする場合は、空白制限文字数制限をした方が良いです。

次にバックエンドのpythonの処理を見ていきましょう。

app.py

投稿されたメッセージはユーザ名と共にuser_messageリストに保存します。

ユーザ名はセッションから取得できます。

user_massageは単なる変数なのでアプリが再起動すると消えます。

(もちろん、ログイン、ログアウトだけでは消えません)

本格的に保存したい場合はデータベースを使う必要があります。

Flaskを使うと掲示板アプリも1時間ほどで作れてしまうので便利ですね。

おわり。