結論
日本語フォントが出力されない。
の答えは「dockerに日本語フォントが入っていなかったから」でした。
www.te-tou.tokyo
こんなの当然。という人にとっては当然でしょうが、薄っぺらい知識でやってると物凄くハマります。
対応方法
とりあえず、PDFエクスポートする際に日本語フォントがないから文字化けてたのでgoogleフォント読み込ませてみます。
↓このフォント使ってみます。
fonts.google.com
HTMLファイルの方にgoogleフォントimportします。
(CSSファイル作るべきなんですが、HTMLにstyleを直書きしてるので)
<style> @import url('https://fonts.googleapis.com/css2?family=M+PLUS+1p&display=swap'); ...省略 </style>
CSS無知っぷりを発揮してます。
そして、views.pyにフォント指定します。
...省略
stylesheets=[
CSS(string='body { font-family: "M PLUS 1p", sans-serif; !important }'),
]
...省略
そして、出力結果が上記画像です。
フォントをネットで読み込む方式なんで、エクスポートにちょっと時間がかかってしまいますね。
dockerfileにgoogleフォントのインストールを書き込んでリビルドで取り込むのも良いのですが、まあこれで要件を満たせたので満足です。
しかし、CSS知識が乏しすぎて造りが悪いすね。