31 lines
1 KiB
Python
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"))
|