te-touのブログ

音楽制作・車・プログラミング・旅行・その他考えてる事など、備忘録的なことも含めて個人的なページです。

M1 Mac Book Proと Docker Django Postgresql でweasyprint使ってPDF出力



 



 

以下の記事のように、最近docker勉強してます。

というか、既存のdjangoアプリをdockerに乗っけようとしてます。

www.te-tou.tokyo

 

経緯は、intelのMacで使えていた"weasyprint"というPDF変換機能がM1 Macだと使えなくなってしまったのでdockerで動かしたら?と思って始めました。

Rosseta2あんまりうまくいかなかったもので、、、おそらくやり方の問題?

 

M1 Macのdocker上でweasyprint動きました
とりあえず、dockerを起動してからpipでweasyprintインストール

pip install -U django-weasyprint

pipをupgradeして、インストールします。
以前は依存関係にあるcarioとかpangoをbrewでインストールしたのですが、M1 MacだとHomebrew使わない方が良いとかなんとか。
必要な場合はどうすりゃ良いのかよくわかりません。
そもそも、dockerでHomebrewを使う場合はコンテナにHomebrewを入れるんですかね?調べないとわかりません。

で、djangoのサーバー起動

python manage.py runserver

dockerにする前のM1 Macでdjangoを起動した際、この時点で落ちました。(エラーでサーバー起動できず)
成功です。が、

weayprint

日本語文字が化けてる?のか出力されません。
以前にもこんなことあったな。
www.te-tou.tokyo

日本語対応していない?

ちょっと見たなんかの記事で、docker上のweasyprintは日本語対応していない。とかなんとか?
対応できるか要研究です。ダメならweasyprint捨てて、別のを試すかな。
↓その後、解決しました。(日本語フォントが入ってなかっただけ)
www.te-tou.tokyo



 



 

www.youtube.com

www.facebook.com