flask-blog/blog/views/auth.py
2025-03-02 15:29:48 +09:00

31 lines
1 KiB
Python

from flask import render_template, request, redirect, session, flash, url_for
from blog import app
from functools import wraps
def login_required(view):
@wraps(view)
def inner(*args, **kwargs):
if not session.get('logged_in'):
return redirect(url_for('login'))
return view(*args, **kwargs)
return inner
@app.route("/login", methods=['GET', 'POST'])
def login():
error = None
if request.method == 'POST':
if request.form['username'] != app.config['USERNAME']:
flash("ユーザー名が異なります")
elif request.form['password'] != app.config['PASSWORD']:
flash("パスワードが異なります")
else:
session['logged_in'] = True
flash("ログインしました")
return redirect(url_for("show_entries"))
return render_template("login.html")
@app.route("/logout")
def logout():
session.pop('logged_in', None)
flash("ログアウトしました")
return redirect(url_for("show_entries"))