質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Flask

FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

5137閲覧

flask loginでlogin Userを取得したい

takadaimiku

総合スコア76

Flask

FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2022/03/09 03:29

python

1from flask_login import UserMixin,LoginManager,login_user 2 3class User(UserMixin,db.Model): 4 id=db.Column(db.Integer,primary_key=True) 5 username=db.Column(db.String(30),nullable=False,unique=True) 6 password=db.Column(db.String(12)) 7 8 def get_id(self): 9 return self.id 10 11@login_manager.user_loader 12def load_user(user_id): 13 return User.query.get(int(user_id)) 14 15

一部抜粋したコードです。
このようにflaskにlogin機能を持たせて、login_user()でログインまで完了したとします。
現在loginしているUserの情報を取得するにはどうしたらいいのでしょうか。

get_id()メソッドをUserに定義するとネットで見ましたが、
使い方がイマイチわかりません。

python

1 login_user(user) 2 a=User.get_id() 3 return f'<h1>{a}</h1>'

としてもNoneとでました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

確か以下に入っているはずです。
flask_login.current_user

使い方はうろ覚えですが、import してから、@login_required で囲まれた関数内で使ったらログインユーザが入っていたと思います。

python

1from flask_login import current_user 2 3@app.route('/example') 4@login_required 5def example(): 6 print(current_user) # PyCharmとかで止めてみてください。 7 8 return ''

単にprintしても<class ~~~~>みたいなのが出るだけだった気もするので、PyCharmとかを使ってブレークして確認してみださい。

投稿2022/03/09 06:30

FiroProchainezo

総合スコア2401

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

takadaimiku

2022/03/09 09:47 編集

ありがとうございます!出来ました! 同じ説明ページみてたのに見逃してた自分が悔しいですTT でも@login_requiredは後回しにしてたので、どっちにしろまた詰まってた可能性大なので、近道できました! 有難うございます。感謝いたします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問