【Python】ログイン機能を作る「Flask-Login」③
「Flask-Login」を使って「ログイン機能」を作っていきます。
これでPart3になりますね。
今回は「ログインが必要なページ」を作っていきたいと思います。
「@login_required」を使ってみよう
「login_required」をつければ簡単に「ログインが必要なページ」を作成することができます。
さっそく、インポートしていきましょう。
まだPart2を見ていない方は下記からご覧ください。
②の記事はこちら。
「@login_required」をインポートしよう
「LoginManager」の後ろに追記していきましょう。
from flask import Flask, render_template
--------------------------------------------------
from flask_login import LoginManager, login_required
--------------------------------------------------
app = Flask(__name__)
login_manager = LoginManager()
login_manager.init_app(app)
app.config['SECRET_KEY'] = "secret"
@login_manager.user_loader
@app.route('/')
def index():
return render_template('top.html')
@app.route('/member')
def member():
return render_template('member.html')
@app.route('/login')
def login():
return render_template('login.html')
@app.route('/logout')
def logout():
return render_template('logout.html')
if __name__ == "__main__":
app.run(host="localhost", debug=True)
インポート完了ですね。
「@login_required」を設定してみよう
このアプリの中で「ログインが必要なページ」は「会員ページ」になります。
なので「会員ページ(member.html)」のところに「@login_required」を追加してみましょう。
from flask import Flask, render_template
from flask_login import LoginManager, login_required
app = Flask(__name__)
login_manager = LoginManager()
login_manager.init_app(app)
app.config['SECRET_KEY'] = "secret"
@login_manager.user_loader
@app.route('/')
def index():
return render_template('top.html')
--------------------------------------------------
@app.route('/member')
@login_required
def member():
return render_template('member.html')
--------------------------------------------------
@app.route('/login')
def login():
return render_template('login.html')
@app.route('/logout')
def logout():
return render_template('logout.html')
if __name__ == "__main__":
app.run(host="localhost", debug=True)
ページを確認してみよう
「login.py」を実行して「会員ページ」にアクセスしてみましょう。
「会員ページ」のみアクセスできなくなりました。
これで「ログインが必要なページ」になりましたね。
まとめ
次回は「会員ページ」にログインできる機能を追加していきたいですね。
是非参考にしてみてください。
それではまた。
“【Python】ログイン機能を作る「Flask-Login」③” に対して1件のコメントがあります。