1. ホーム
  2. django

AttributeError: 'NoneType' オブジェクトに 'split' 属性がない場合の解決策(djangoにて

2022-02-21 08:39:53
<パス

最近、タイトルにあるようなホームページの書き方で困ったことがありました。 AttributeError: 'NoneType' object has no attribute 'split' そして、このような行があります。 self.status.split(' ',1)[0], self.bytes_sent このコードは大雑把に言うと、返された値がNoneTypeでsplitがエラーを報告する、ということでしょうか。ここでとりあえず、あまり詳しくないのですが。この問題は一日中私を混乱させている、私はそれを解決する方法を考えることはできません。

この問題を抱えたままajaxのコードを書いていたので、ネットで解決する方法を見つけたのです。 'async' : false には、非同期を使用しないようにという行があります。少し戸惑いましたが、ajaxを書く目的は非同期ではないでしょうか?それで問題が解決するかどうか試してみたら、解決したんです。なるほど、それでいいんだ。しかし、ブラウザは次のような提案を返してきました: "Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user 's experience" これは、 "Synchronous XMLHttpRequest on the main thread is not recommended because of its detrimental effects to the end user experience" と訳されるものです。

そして書き終わりにふと思ったのですが、私のjsコードはフォームフォームからデータを取得しており、データ送信の際、デフォルトはフォーム送信なので、デフォルトのフォーム送信を阻止しないと、タイトルのようなエラーになるのではと思いました。なので、jsコードでクリックイベントを書くときは、フォームフォーム内で送信される場合は注意が必要です。

xxxxBtn.click(function (event) {
        event.preventDefault();
        ......
        }


この場合、エラーは報告されません。
このバグは以前にも出ていたようですが、何の問題だったかは忘れました、念のため。