#バグの内容
Djangoで作ったアプリケーションをherokuでデプロイしたらブラウザによってはcssが全く読み込まれなかった。
cssが読み込まれたブラウザ->MacOS版Chrome,Android版Chrome
読み込まれなかったブラウザ->Mac版Safari,ios版Safari,ios版Chrome
#バグの原因
cssが読み込まれなかったブラウザで開発ツールを用い、htmlファイルのlinkタグに貼ってあるcssファイルの中身を見ると文字化けしていた。
heroku run bashで本番環境に入り、collectstaticでできたフォルダ内を覗くとcssファイルが圧縮されたcss.gzファイルがあった。
試しにcss.gzファイルの中身をcatコマンド見てみると文字化けしており、開発ツールで見た文字化けと完全に一致していた。
このことからhtmlファイルのリンクが解凍前のcss.gzファイルにつながっていることが原因だと考えられる。
#対処方法
解凍後のcss.gzファイルにリンクを繋げられたら一番よかったのだがやり方がわからなかったので(知ってる人教えてもらえたら幸いです!)そもそもgzファイルを生成しない設定にした。
コードは
django_heroku.settings(locals(),staticfiles=False)
このようにdjango_heroku.settings()関数の第二引数にstaticfiles=Falseを追加するだけでいい。
これでgzファイルが作られなくなります。
そもそもgzファイルがなんのためにあるのかよくわからないのでデメリットは感じられません。
通信速度が早くなるのかな?
とりあえず僕の環境ではこれで改善したので同じバグが起きてる人のお役に立てれば幸いです。