from dataclassesimport dataclass
from flaskimport Flask
from flaskimport request, render_template, redirect, url_for, session, g
@dataclass
class User:
id:int
username:str
password:str
users = [
User(1, "Admin", "123456"),
User(2, "Eason", "888888"),
User(3, "Tommy", "666666"),
User(4, "1", "1"),
User(14, "2", "2"),
]
@app.before_request
def before_request():
g.user =None
if 'user_id' in session:
user = [ufor uin usersif u.id == session['user_id']][0]
g.user = user
@app.route("/login", methods=['GET', 'POST'])
def login():
if request.method =='POST':
# 登录操作
session.pop('user_id', None)
username = request.form.get("username", None)
password = request.form.get("password", None)
user = [ufor uin usersif u.username == username]
if len(user) >0:
user = user[0]
if userand user.password == password:
session['user_id'] = user.id
return redirect(url_for('profile'))
return render_template("login.html")
@app.route("/profile")
def profile():
# if not g.user:
# return redirect(url_for('login'))
# 调用上面的函数,获取链接
conn = get_db_connection()
# 查询所有数据,放到变量posts中
# 当前日期
Today = datetime.date.today()
Title = g.user.id
# posts = conn.execute('SELECT * FROM posts').fetchall()
posts = conn.execute('SELECT * FROM posts WHERE id = ? and created = ? ',
(Title, Today)).fetchall()
conn.close()
# 把查询出来的posts传给网页
return render_template("new.html")
@app.route("/logout")
def logout():
session.pop("user_id", None)
return redirect(url_for('index'))