二手产品经理

二手产品经理

THIS IS RENO

db - 84日 - オンラインでPythonを学ぶ100日

レコード#

  1. 今日は以前の知識を結びつける学習をしました。まずは db の操作、そして最近のリクエストの操作です。これには辞書配列なども関わってきます。
  2. replit では、db の内容を最初に保存する必要があります。つまり、db []= 文字列として保存し、それから読み取る必要があります。少し不便なのは、この保存コードが後続の実行中にコメントアウトされる必要があることです。
  3. static_url_path='/static'については、少し理解できません。AI は次のように説明しています:static_url_pathは主に URL の構造をより良く組織化し、コードをより読みやすく、保守しやすくするためのものです。このパラメータを設定しなくても問題ありません。
  4. パスワードの変更方法を学びましたが、ビデオの最初の部分では特定のユーザーのパスワードを変更する方法は示されていませんでした。ライブラリに 1 つしかない場合は問題ありませんが、複数ある場合は問題が発生します。コードを書く際には、このような問題をできるだけ避けるようにする必要があります。もちろん、複数のユーザーを考慮する必要があります。
  5. エラーのトラブルシューティングの練習中に、コードの中にバグが見つかりました。他のユーザーのパスワードを変更することができるんです、ハハハ!

CODE#

from flask import Flask, request, redirect
from replit import db

app = Flask(__name__, static_url_path='/static')


@app.route("/")
def index():
    page = """
  <p><a href="/sign">サインアップ</a></p>
  <p><a href="/log">ログイン</a></p>
  """
    return page


@app.route("/sign")
def sign():
    f = open("sign.html", "r")
    page = f.read()
    f.close
    return page


@app.route("/signup", methods=["POST"])
def signup():
    user = request.form
    if user["username"] not in db.keys():
        db[user["username"]] = {
            "username": user["username"],
            "name": user["name"],
            "password": user["password"]
        }
        page = f"こんにちは {user['name']}"
    else:
        page = f"{user['username']}は既に存在します"
    return page


@app.route("/log")
def log():
    f = open("login.html", "r")
    page = f.read()
    f.close
    return page


@app.route("/login", methods=["POST"])
def login():
    user = request.form
    print(f"""
    {db[user["username"]]["username"]} == {user["username"]} and {db[
            user["username"]]["password"]} == {user["password"]}:
    """)
    if db[user["username"]]["username"] == user["username"] and db[
            user["username"]]["password"] == user["password"]:
        page = f"こんにちは {db[user['name']]}"
    else:
        page = "ユーザー名またはパスワードが間違っています"
    return page


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

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。