プログラミング

【Python】Flaskで掲示板を作ってみよう②

投稿日:2020年12月16日 更新日:

「Flaskで掲示板を作ってみよう①」から、間が空きましたが続きを書いていきたいと思います。
今回は、実際に動作したコードを紹介します。

前回の記事はこちら

Flaskで掲示板を作ってみよう

Flaskを使う上で学んでおきたいものを、まず紹介します。
自分がここまでくるのに学んできたものになります。

他の参考記事

.pyファイルを編集しよう

前回作成した「bbs.py」を下のように変えました。

from flask import Flask, request, render_template
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)

SQLALCHEMY_TRACK_MODIFICATIONS = False
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False

db_uri = 'sqlite:///test.db'
app.config['SQLALCHEMY_DATABASE_URI'] = db_uri
db = SQLAlchemy(app)

class Message(db.Model):
    id_ = db.Column(db.Integer, primary_key=True, autoincrement=True)
    message = db.Column(db.Text())

    def __init__(self, message):
        self.message = message

try:
    db.create_all()
except Exception as e:
    print(e.args)
    pass

@app.route("/")
def index():
    text = Message.query.all()
    return render_template("index.html", lines=text)

@app.route("/result", methods=["POST"])
def result():
    message = request.form["post_message"]
    post_message = Message(message=message)
   
    db.session.add(post_message)
    db.session.commit()
    return render_template("result.html", message=message)

if __name__ == "__main__":
    app.run(host="localhost", debug=True)

1つ1つの意味は、別の機会に紹介したいと思います。

投稿完了ページ(result.html)を作ろう

<!--DOCTYPE html-->
<html lang="ja">
<head>
    <meta charset="utf-8">
    <title>投稿完了</title>
</head>
<body>
  <h2>投稿が完了しました</h2><br>
    <form action="/" method="get">
      <button type="submit">戻る</button>
    </form>
</body>
</html>

さらに「result.html」を「templates」に追加しました。

ここですね。

投稿してみよう

では、「localhost:5000」にアクセスしましょう。

「ANDoblog」で投稿してみます。

「result.html」が表示されます。

投稿内容が表示されています。

まとめ

「Flask」で掲示板を作成してみました。
このような簡単なものでも結構時間がかかりましたね。
特に「データベース」の使い方でしょうか。
ぜひ参考にしてみてください。
それではまた。

-プログラミング
-

執筆者:


  1. […] 【Python】Flaskで掲示板を作ってみよう② […]

  2. […] 【Python】Flaskで掲示板を作ってみよう② […]

comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

【Python】Flask-WTFを使ってみよう③

前回「Flask-WTF」を使って「フォーム」の作成を行いました。今回は「文字数」の入力を制限する「バリデーション」を設定していきたいと思います。 バリデーションを設定してみよう バリデーションについ …

【Python】Flaskってなんだ?

Pythonのライブラリの中に「Flask」というライブラリがあります。「Flask」を使うことで、簡単に「WEBアプリケーション」を作成できるようなので試していきたいと思います。今回は、「Flask …

【Python】別のファイルを読み込んでみよう

Pythonでは「別のpyファイル」を読み込んで、そこに記述してある「変数」や「関数」などを使うことができるようです。 今回はその「インポート方法」を見ていきましょう。 別のpyファイルをインポートし …

「IT用語」OSの役割とは?

「OSってなんだ?」に引き続きOSの役割についてみていこうと思います 前回の記事はこちら 【IT用語】OSってなんだ? 「OSが入っていないコンピューターは動作しない」ことと「いろいろなOSがあるとい …

【Python】クラスってなんだ?

Pythonを学ぶ上で「クラスってなんだ?」と思ったことはありますか?調べてみると、あるものに例えられていて分かりやすいものがありました。今回はそちらを参考に「クラス」とはなにかを紹介したいと思います …

YouTube