from flask import Flask, request, redirect, session
from replit import db
import os
app = Flask(__name__, static_url_path='/static')
app.secret_key = os.environ['secret_key']
@app.route("/")
def index():
if session.get("name"):
return redirect("/login")
else:
page = """
<p><a href="/sign">Sign Up</a></p>
<p><a href="/log">Log In</a></p>
"""
return page
@app.route("/sign")
def sign():
if session.get("name"):
return redirect("/login")
else:
f = open("sign.html", "r")
page = f.read()
f.close
return page
@app.route("/signup", methods=["POST"])
def signup():
if session.get("name"):
return redirect("/login")
else:
user = request.form
if user["username"] not in db.keys():
db[user["username"]] = {
"username": user["username"],
"name": user["name"],
"password": user["password"]
}
session["name"] = user['name']
page = f"Hello {session['name']}"
else:
page = f"{user['username']} exists"
return page
@app.route("/log")
def log():
if session.get("name"):
return redirect("/login")
else:
f = open("login.html", "r")
page = f.read()
f.close
return page
@app.route("/login", methods=["GET"])
def sessionlogin():
if session.get("name"):
page = f"<h1>Hello {session['name']}</h1><p><a href='/reset'>Reset</a></p>"
return page
@app.route("/login", methods=["POST"])
def login():
user = request.form
if db[user["username"]]["username"] == user["username"] and db[
user["username"]]["password"] == user["password"]:
session["name"] = db[user["username"]]["name"] # 将用户姓名存入会话
return redirect("/login")
else:
page = "Username Or Password error"
return page
@app.route("/reset")
def reset():
session.clear()
return redirect("/log")
app.run(host='0.0.0.0', port=81)