オブジェクトにダンプできるようにしたい。Jinja2オブジェクトにダンプする?
ドキュメントによれば、ファイルやオブジェクトのようなファイルにダンプすることができます。
私はオブジェクトのようなファイルとして何が使えますか?
私はそれを保存したり表示したりしたくありません。そのデータベースに格納されたデータから即座に作成されたルータ用のダウンロード可能な設定テンプレート。
env = Environment(autoescape=False, optimized=False)
config_file = None
device_config = None
device_config = env.from_string(config_template.config)
device_config.stream(
STR = site.location.upper()[:4],
).dump(config_file)
理由ビーイングは、私はジャンゴを持つユーザーのブラウザに出力するファイルをコンテンツ処分を使いたいです。
EDIT: はStringIOを
一般にimport StringIO
>>> config_file = StringIO
>>> device_config = None
>>> device_config = env.from_string(config_template.config)
>>> device_config.stream(
... STR = site.location.upper()[:4],
...).dump(config_file)
Traceback (most recent call last):
File "<console>", line 3, in <module>
File "/usr/lib/python2.7/site-packages/jinja2/environment.py", line 1167, in dump
fp.write(item)
AttributeError: 'module' object has no attribute 'write'
>>>
おかげ
動的レポートをレンダリングして、それをあなたのdjangoテンプレートに表示したいですか? HTML + CSSファイルにレンダリングしてサーバーに保存し、django環境に表示するのはなぜですか? –
データベースに保存されたデータからオンザフライで作成されたルータ用のダウンロード可能な設定テンプレートを保存したり表示したりしませんか。 – AlexW
@AlexW:新しいオブジェクトを作るには 'StringIO.StringIO()'を使うべきです。今は 'config_file'が' StringIO'型のオブジェクトではなくモジュールを指しています。 – wildwilhelm