Djangoでif ((len(encoded) == 32 and ‘$’ not in encoded) or TypeError: object of type ‘NoneType’ has no len()
今回はDjangoを使用しているときにif ((len(encoded) == 32 and '$' not in encoded) or TypeError: object of type 'NoneType' has no len()
というエラーが起きた時の対処法についてご紹介いたします。
使用しているDjangoのバージョンは2.2.1です。
Djangoでif ((len(encoded) == 32 and '$’ not in encoded) or TypeError: object of type 'NoneType’ has no len()
まず、表題のエラーが起きる原因についてご紹介いたします。
私の場合は、passwordを使って認証する際に表題のエラーが起きました。
認証を行うとき、とあるユーザーのテーブルを見ていたのですが、認証に必要なpasswordの値がnullのままだったのです。
よって、ハッシュ化したパスワードを認証に使うユーザーのpasswordのフィールドに入れてあげると、表題のエラーが解消されました。
お試しあれ。
終わりに
今回は表題のエラーが起きた時の対処法についてご紹介いたしました。
ディスカッション
コメント一覧
まだ、コメントがありません