プログラミング学習

【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」を実行して「会員ページ」にアクセスしてみましょう。

「会員ページ」のみアクセスできなくなりました。

これで「ログインが必要なページ」になりましたね。

まとめ

次回は「会員ページ」にログインできる機能を追加していきたいですね。
是非参考にしてみてください。
それではまた。

-プログラミング学習
-

執筆者:


  1. […] 【Python】ログイン機能を作る「Flask-Login」③ […]

comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

【Python】リサイズした画像をExcelに貼ってみよう

前回は、画像を「openpyxl」でExcelシートに貼り付けることができました。今回は「OpenCV」を使って、リサイズしてから画像を貼り付けてみたいと思います。 リサイズした画像を貼ってみよう O …

【WTForms】IntegerFieldを使ってみる

今回は「wtforms」の「IntegerField」を使ってみたいと思います。 IntegerFieldを使ってみる 「Integer」とは「整数」という意味です。なので「整数」のみ受け取るフォーム …

【エクセル】で「ちょこっとプログラミング」基礎編#1

プログラミングをしたことのない人向けにExcelでできる「ちょこっとプログラミング」を紹介します。今回は【基礎】として「セルとは?」と「セルの値を取得する」を題材にやっていきます。 セルとは エクセル …

【Python】Flaskのフォルダ構成

「Flask」でアプリを作成する際に、知っておきたいフォルダ構成を紹介します。 Flaskでアプリを作成してみよう 「Flask」を勉強し始めて、1か月が経過しました。この1カ月で学んだ「Flask」 …

【Python】スクレイピングしてみよう

Pythonを学習する教材として「スクレイピング」に挑戦していきたいと思います。今回は使用していくツールと使い方を紹介します。 スクレイピングとは 「スクレイピング」とは、WEBデータを抽出し、必要な …