
from flask import Flask, render_template, redirect, url_for, session
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config.from_object('setting')
db = SQLAlchemy(app=app)
''' 创建表 '''
class User(db.Model):
id = db.Column(db.Integer, primary_key=True, comment='用户ID')
name = db.Column(db.String(30), comment='用户名')
@app.route('/')
def index():
users = User.query.order_by(User.id.desc()).all()
user_id = session.get('user_id')
one_user = ''
if user_id:
one_user = User.query.get(user_id)
return render_template('index.html', users=users, one_user=one_user)
@app.route('/login')
def login():
session['user_id'] = 1
return redirect(url_for('index'))
@app.route('/logout')
def logout():
session.pop('user_id', None)
return redirect(url_for('index'))
if __name__ == '__main__':
db.create_all()
app.run()
# setting
DEBUG = True
SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:[email protected]/exam3?charset=utf8'
SQLALCHEMY_TRACK_MODIFICATIONS = False
SECRET_KEY = 'ABC'
{# index.html #}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>所有用户</title>
</head>
<body>
您好【{{ one_user.name }}】
<a href="{{ url_for('login') }}">登录</a>
<a href="{{ url_for('logout') }}">退出</a>
<hr>
<table border="1" cellspacing="0">
<tr>
<td>用户ID</td>
<td>用户名</td>
<td>状态</td>
</tr>
{% for user in users %}
<tr>
<td>{{ user.id }}</td>
<td>{{ user.name }}</td>
<td>
{% if session.get('user_id')==user.id %}
当前登录用户
{% endif %}
</td>
</tr>
{% endfor %}
</table>
</body>
</html>