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

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

  • X

【Python】Flaskで掲示板を作ってみよう②” に対して2件のコメントがあります。

コメントを残す

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