概要
Djangoの管理画面を開こうとしたら、以下のエラーが発生した。
backports.zoneinfo._common.ZoneInfoNotFoundError: 'No time zone found with key Asia/Tokyo'
むむむ、今までは発生してなかったんだが~( ˘·ω·˘ ).。oஇ
環境
type / version | |
---|---|
OS | wsl2 (Ubuntu) |
Python | 3.8.9 |
Django | 4.0.2 |
backports.zoneinfo | 0.2.1 |
対策
pip moduleのtzdata
をインストールした上で、Djangoアプリケーションを再起動してあげれば大丈夫でした。
原因について
エラーの発生原因になっているzoneinfoの公式ドキュメントによると、zoneinfoは、データベースかもしくはtzdata
からtimezone情報を取得してくれる作りになっている模様。
ただし、windowsなどは、必要なtimezone情報がデータベースに入っていないため、代替策としてtzdata
を使うことが推奨されていました。
う~ん。。。
ちょっと前まではこんなエラーは発生しなかったので、Djangoやzoneinfoのバージョンを上げた(上がった)ためにこのエラーが発生したのかもしれない。
要注意ですo(。>∆<)o
参考記事
今回は以下の2つ見とけばだいじょぶだよ(^ワ^*)
英語だけど。
公式document
stackoverflow