hanabiapp.views.auth
1from flask import Blueprint, render_template, redirect, url_for, request, flash 2from flask_login import login_user, logout_user, login_required, current_user 3from ..models.user import User 4from .. import db 5 6bp = Blueprint('auth', __name__) 7 8@bp.route('/login', methods = ['GET', 'POST']) 9def login(): 10 """ 11 ユーザーのログインを処理する関数. 12 13 - 既にログインしている場合はホームページへリダイレクトする. 14 - POSTリクエストの場合,ユーザー名とパスワードを検証し,ログインを試みる. 15 - 認証に成功した場合はホームへリダイレクトし,失敗した場合はエラーメッセージを表示する. 16 17 Returns: 18 Response: 認証に成功すればリダイレクト,失敗すればログインページをレンダリング 19 """ 20 if current_user.is_authenticated: 21 return redirect(url_for('home.home')) 22 23 if request.method == 'POST': 24 username = request.form['username'] 25 password = request.form['password'] 26 user = User.query.filter_by(username=username).first() 27 28 if user and user.check_password(password): 29 login_user(user, remember=request.form.get('remember')) 30 return redirect(url_for('home.home')) 31 else: 32 flash('Invalid username or password', 'login-failed') 33 return render_template('login.html'), 401 34 35 return render_template('login.html') 36 37@bp.route('/logout') 38def logout(): 39 """ 40 ユーザーをログアウトさせる関数. 41 42 Returns: 43 Response: ログアウト後,ログインページへリダイレクト 44 """ 45 logout_user() 46 return redirect(url_for('auth.login'))
bp =
<Blueprint 'auth'>
@bp.route('/login', methods=['GET', 'POST'])
def
login():
9@bp.route('/login', methods = ['GET', 'POST']) 10def login(): 11 """ 12 ユーザーのログインを処理する関数. 13 14 - 既にログインしている場合はホームページへリダイレクトする. 15 - POSTリクエストの場合,ユーザー名とパスワードを検証し,ログインを試みる. 16 - 認証に成功した場合はホームへリダイレクトし,失敗した場合はエラーメッセージを表示する. 17 18 Returns: 19 Response: 認証に成功すればリダイレクト,失敗すればログインページをレンダリング 20 """ 21 if current_user.is_authenticated: 22 return redirect(url_for('home.home')) 23 24 if request.method == 'POST': 25 username = request.form['username'] 26 password = request.form['password'] 27 user = User.query.filter_by(username=username).first() 28 29 if user and user.check_password(password): 30 login_user(user, remember=request.form.get('remember')) 31 return redirect(url_for('home.home')) 32 else: 33 flash('Invalid username or password', 'login-failed') 34 return render_template('login.html'), 401 35 36 return render_template('login.html')
ユーザーのログインを処理する関数.
- 既にログインしている場合はホームページへリダイレクトする.
- POSTリクエストの場合,ユーザー名とパスワードを検証し,ログインを試みる.
- 認証に成功した場合はホームへリダイレクトし,失敗した場合はエラーメッセージを表示する.
Returns:
Response: 認証に成功すればリダイレクト,失敗すればログインページをレンダリング
@bp.route('/logout')
def
logout():
38@bp.route('/logout') 39def logout(): 40 """ 41 ユーザーをログアウトさせる関数. 42 43 Returns: 44 Response: ログアウト後,ログインページへリダイレクト 45 """ 46 logout_user() 47 return redirect(url_for('auth.login'))
ユーザーをログアウトさせる関数.
Returns:
Response: ログアウト後,ログインページへリダイレクト