Files
Arcaea-server/v1.2/web/login.py
Lost-MSth 1b850bccb3 Add files via upload
Update to v1.2
2020-10-02 00:16:11 +08:00

51 lines
1.3 KiB
Python

#import sqlite3
from flask import (Blueprint, flash, g, redirect,
render_template, request, session, url_for)
import functools
bp = Blueprint('login', __name__, url_prefix='/web')
@bp.route('/login', methods=('GET', 'POST'))
def login():
# 登录
if request.method == 'POST':
username = request.form['username']
password = request.form['password']
error = None
if username != 'admin' and password != 'admin':
error = '错误的用户名或密码 Incorrect username or password.'
if error is None:
session.clear()
session['user_id'] = 'admin'
return redirect(url_for('index.index'))
flash(error)
return render_template('web/login.html')
@bp.route('/logout')
def logout():
# 登出
session.clear()
flash('成功登出 Successfully log out.')
return redirect(url_for('index.index'))
def login_required(view):
# 登录验证,写成了修饰器
@functools.wraps(view)
def wrapped_view(**kwargs):
x = session.get('user_id')
# 少用户存在验证
if x is None:
return redirect(url_for('login.login'))
g.user = {'user_id': x, 'username': 'admin'}
return view(**kwargs)
return wrapped_view