PDFにレンダリングするビューを構築しようとしています。ビューにアクセスするたびに、レンダリングされたドキュメント/テーブルの構造にランダムな問題が発生しました。エラーを追跡して、完全に静的な html コードをレンダリングすることになりました。そして、各リクエストの結果のドキュメント サイズが異なることがわかりました。
template = get_template(self.get_report_template_name())
html = template.render(Context({}))
strobj = StringIO.StringIO()
pisa.CreatePDF(html.encode("UTF-8"), strobj, encoding='UTF-8')
return HttpResponse('len: %d' % strobj.len);
ご覧のとおり、まったく同じテンプレートが空のコンテキストでレンダリングされるたびに、何も変わらないことを確認します。とにかく、テンプレートはdjangoテンプレート言語をまったく使用していません
上記のコードは、ページを更新するたびに少し異なる結果を返します
長さ: 2573、長さ: 2595、長さ: 2234、長さ: 2601、長さ: 2244、長さ: 2632、
etc ... (一部の値は複数回繰り返されます)。
これらのドキュメントを保存して表示すると、誤って表示された表のセルなど、「壊れた」ページ構造が含まれています。これらのうちの 1 つだけが正しいように見えます。
問題を見つけるための提案はありますか?