StreamField
古いサイトからの移行を行っています。Wagtail ページに生の html をプログラムで追加する必要があります。どうすればいいのですか?
2808 次
1 に答える
22
これを行う最も簡単な方法は、RawHTMLBlock
が で有効になっていることを確認してStreamField
から、そこに挿入することです。フィールドにコンテンツを追加するプロセスは次のとおりです。
import json
original_html = '<p>Hello, world!</p>'
# First, convert the html to json, with the appropriate block type
raw_json = json.dumps([{'type': 'raw_html', 'value': original_html}])
# Load Wagtail page
my_page = Page.objects.get(id=1)
# Assuming the stream field is called 'body',
# add the json string to the field
my_page.body = raw_json
my_page.save()
このアプローチを使用して、他の種類のブロックを に追加できますStreamField
。適切なブロック タイプで辞書のリストを作成し、それを json に変換して保存してください。
于 2015-12-10T11:34:20.890 に答える