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上にデプロイした際にもうまく表示させることができました。
例としては、下記のように書きました。
1 2 3 4 |
@admin.register({{モデル名}}) class {{モデル名}}Admin(admin.ModelAdmin): list_display = () change_list_template = 'admin/{{アプリ名}}/{{モデル名}}/change_list.html' |
ぶっちゃけlocalではなぜうまくいってAWSのEC2上では自動的にchange_list.htmlがオーバーライドされないのかは分からずじまいでした。
何かわかったらここでご報告させていただこうと思います。
終わりに
今回はDjangoのadminのCustomizeでAWSのEC2上でchange_list.htmlが反映されない問題について、一つの対策を提案させていただきました。
ディスカッション
コメント一覧
まだ、コメントがありません