This commit is contained in:
Akira Tempaku 2025-03-02 15:07:48 +09:00
commit 5309e0593b
Signed by: paku
GPG key ID: 5B4E8402BCC50607
22 changed files with 722 additions and 0 deletions
blog/views

31
blog/views/auth.py Normal file
View file

@ -0,0 +1,31 @@
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"))