【python入門】django-allauthのメモ
こんにちは!
だいぶ個人アプリケーションが出来上がってきました。(機能だけ)
ところで、認証機能については、django-allauthをインストールして使っています。
djangoデフォルトの認証機能と違うのかな、と思っていましたが同じ関数使えるみたいなので備忘録。
django-allauth 使い方例
■viewにデコレーターを使う場合
※ログインしていない場合ログインページへ飛びます
最初django-allauthの公式ドキュメントから、
@verified_email_required
でe-mail認証しかないのかと思っていた。
https://django-allauth.readthedocs.io/en/latest/decorators.html
■templateでログインしている場合にボタンを表示する場合
■templateでログインしていてかつ自分の投稿だけボタンを表示させたい時
railsの”current_user”(現在ログインしているユーザ情報を取得するrails(device)のヘルパーメソッド)と同等の”request.user”
https://codeday.me/jp/qa/20190119/149157.html
↑こんな使い方もあるみたい(request.user.is_authenticated)
↑削除されていました、、また実践して試してみます
django-allauthのインストール・ファイルの在り処はこの記事を参考にさせていただきました!
テンプレートもほんの少しだけいじっています。
■備忘録
templateの場所
$pip show django-allauth
「Location:」のパスのallauthフォルダの下をたどって行くとtemplateフォルダに入っています。
(追記2)
数ヶ月ぶりにアプリ起動した際、サインアップ時に
[Errno 8] nodename nor servname provided, or not known
エラーが出ました。
このエラーが出た際はstackoverflowに記載の以下の記事より、
setting.pyに
ACCOUNT_EMAIL_VERIFICATION = "none"
を記載することにより解決しました。(どこかに影響するかもしれませんがわかりません、、emailのバリデーションかな?)
最後に
それにしてもallauthで普通にdjangoの認証機能が使えるのか、一部だけなのか。
allauthの内部でデフォルトの認証機能の機能使えるようにしているのか。またはセッション管理が共通なのか。
コードを見てみたいけど、今の私ではわかりません。
一応djangoの認証機能についてのドキュメント
Djangoの認証システムを使用する | Django ドキュメント | Django
django-allauthのgit
django-allauthのdoc
Welcome to django-allauth! — django-allauth 0.32.0 documentation
とりあえず使っていって確かめよう。