そうでしょうI.悲しいことに、しかし、各
「私はレポートをコーディングすることなく...レポートを作成できるようにするのが大好きです」レポートはユニークでカスタムコードが必要です。
DjangoモデルからCSVへは簡単です。そこからいくつかのレポートを始めてください。
import csv
from myApp.models import This, That, TheOther
def parseCommandLine():
# setup optparse to get report query parameters
def main():
wtr= csv.DictWriter(sys.stdout, ["Col1", "Col2", "Col3"])
this, that = parseCommandLine()
thisList= This.objects.filter(name=this, that__name=that)
for object in thisList:
write.writerow(object.col1, object.that.col2, object.theOther.col3)
if __name__ == "__main__":
main()
HTMLはかなり簡単です - DjangoにはHTMLテンプレート言語があります。 render_to_responseではなく、テンプレートをレンダリングしてstdoutに書き込むだけです。アルゴリズムの核心は、興味深いことに、CSVを書くことと非常によく似ています。同じように、それほど賢いことなく、あなたは両方を行うデザインパターンを持つべきです。
CSVが動作したら、Djangoのテンプレートを使用してHTMLを追加します。
実際にフォーマットを細かく調整する必要があるため、PDFは難しくなります。これにはPythonライブラリがたくさんあります。しかし興味深いことに、PDF書き込みの全体的なパターンは、CSVやHTML書き込みと非常によく似ています。
電子メールとは、直接PythonのsmtplibまたはDjangoのemailパッケージを使用していることを意味します。これはあまりにも難しくありません。すべての部分がそこにあります、上記の出力ファイルをいくつかの配布リストに電子メールで送るだけです。
スケジュールは、crontab
を最大限に活用するために少し考えています。これはおそらく仕事の最も難しい部分です。
非常に重要な発言:XHML2PDF/PisaはGPL – sorin
でライセンスされています。商用ライセンスは現在500ユーロです。 – sorin
あなたの応答をありがとうSorin –