二手产品经理

二手产品经理

THIS IS RENO

チャットルーム - 89日 - オンラインでPythonを学ぶ100日

#記録

  1. 今日も練習の日です。チャットルームを作っていると、何年も前のネットワークの出会いのチャットルームを思い出します。それはノスタルジーですか?
  2. 数日間コードを書いていないので、db 操作、session 操作、from 操作、request 操作をほとんど忘れました。
  3. 以前のコードを参考にして練習を完了しました。アイデアは基本的に正しいですが、ほとんどデバッグしていません。
  4. 最後の 5 つのレコードを読み取るときに詰まりましたが、chatgpt の助けを借りて 5 つのレコードを取得しました。

#コード
## main.py

from flask import Flask, request, redirect, session
from replit import db
import os
from datetime import datetime

app = Flask(__name__)
app.secret_key = os.environ['sission_key']


@app.route("/", methods=["GET"])
def index():
    f = open("index.html", "r")
    page = f.read()
    f.close()

    text1 = ''
    record_keys = list(db.keys())
    last_5_keys = record_keys[-5:]
    if last_5_keys:
        for key in last_5_keys:
            if session.get("user") == "DengLe":
                login = f"<a href='/del?id={key}'>X</a>"
            else:
                login = ""
            ms = db[key]
            text = f"""
          <p><span>{ms["user"]}:</span><span>{ms["message"]}</span><span>{login}</span></p>
          """
            text1 += text

    page = page.replace("{text}", text1)
    return page


@app.route("/", methods=["POST"])
def message():
    form = request.form
    message = form["message"]
    vuser = request.headers["X-Replit-User-Name"]
    session["user"] = vuser
    timestamp = datetime.now().timestamp()
    db[timestamp] = {"message": message, "user": vuser}
    return redirect("/")


@app.route("/del")
def delmessage():
    form = request.args
    del db[form['id']]
    return redirect("/")


app.run(host='0.0.0.0', port=81)

## HTML

<html>
  <head>
    <title>ネットワークの出会い</title>
    <script src="https://replit.com/public/js/repl-auth-v2.js"></script>
  </head>
  <body>
    <h1>ネットワークの出会いチャットルーム</h1>
    <p><button onclick="LoginWithReplit()">ログイン</button>

</p>
    <form action="/" method="post">
      <input type="text" name="message">
      <button>送信</button>
    </form>
    <p>{text}</p>
  </body>
</html>
読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。