2

reportlab で使用するフォントを登録するのに最適な時期を考えています。次の行を settings.py に追加しました。

pdfmetrics.registerFont(TTFont('Calibri', FONT_DIR + '/fonts/Calibri.ttf'))

この呼び出しの後、フォントは PDF 生成に使用できます。しかし、数日後にフォントが使用できなくなり、django アプリを再起動する必要が生じ、フォントが再登録されます。

私がすでに試したアプローチの 1 つは、各 pdf 生成呼び出しの前にフォントを登録することでした。これは、3-5 呼び出しごとにクラッシュしたため機能しませんでした。

私は、settings.py が reportlab のフォントを登録する正しい場所であるかどうかを知りたいだけです。もしそうなら、数日後にフォントが利用できなくなった理由は何でしょうか!?

- 編集 -

実際に、reportlab と mod-wsgi に問題があることを発見しました。fast-cgi に切り替えたところ、この問題が再び発生することはありませんでした。

4

1 に答える 1

1

reportlabs がどのように機能するかはわかりませんが、django については言えます。

Django は、設定が一度インポートされることを保証しません (他の問題がある可能性があります)。また、そのようなことには適していません。通常、オブジェクトの登録には urls.py が使用されます (例: admin.autodiscover)。

于 2010-04-13T10:13:53.603 に答える