DjangoのadminのCustomizeでAWSのEC2上でchange_list.htmlが反映されない

今回はDjangoのadminのCustomizeでAWSのEC2上でchange_list.htmlが反映されない問題について、一つ解決策を提案させていただきます。

かなり限られた人向けの記事となります。



DjangoのadminのCustomizeでAWSのEC2上でchange_list.htmlが反映されない

とある事情でDjangoのadminをカスタマイズすることになりました。

やろうとしていたのは、adminのlist_displayをカスタマイズして、admin画面にChart.jsのグラフを表示させることです。
下記の記事を参考にadmin画面のカスタマイズを行なっていました。
https://findwork.dev/blog/adding-charts-to-django-admin/

また、下記のYouTubeも参考にしていました。
https://www.youtube.com/watch?v=g5DTIiFAiSk

しかしローカル環境ではchange_list.htmlをオーバーライドすることによってDjangoのadmin画面にグラフを表示させることができましたが、AWSのEC2上にデプロイを行うと、ローカルと完全にソースコードが一致しているのにも関わらず、Djangoのadmin画面にグラフを表示させることができませんでした。

試行錯誤の結果、admin.pyに明示的にchange_list_templateを指定してやればAWSのEC2上にデプロイした際にもうまく表示させることができました。
例としては、下記のように書きました。

ぶっちゃけlocalではなぜうまくいってAWSのEC2上では自動的にchange_list.htmlがオーバーライドされないのかは分からずじまいでした。
何かわかったらここでご報告させていただこうと思います。

終わりに

今回はDjangoのadminのCustomizeでAWSのEC2上でchange_list.htmlが反映されない問題について、一つの対策を提案させていただきました。

最後までお読みいただきありがとうございます。
ブログやTwitterでのシェアOKです。
コメントもお待ちしております。
誤植や勘違いなどございましたらコメント欄にて教えていただけると幸いです。






Django

Posted by ちこ