Я делаю переход со старого сайта, и мне нужно программно добавить raw html в StreamField
на страницу Wagtail. Как мне это сделать?Как я могу программно добавить контент в Wagtail StreamField?
8
A
ответ
13
Самый простой способ сделать это - убедиться, что 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, и сохранить.
Смежные вопросы
- 1. Wagtail SnippetChooserBlock in Streamfield
- 2. Использование StreamField в фрагментах на Wagtail
- 3. Как правильно использовать taggit в wagtail
- 4. Расширение wagtail Streamfields в унаследованном классе
- 5. Использовать streamfield в нескольких приложениях: ошибка миграции
- 6. Пользовательское представления Streamfield в API отдыха
- 7. Как я могу добавить контакт программно?
- 8. Как я могу программно добавить контакт?
- 9. Как я могу добавить ListBoxItem программно?
- 10. Looping through Wagtail Потоковые объекты
- 11. Программно обновляющий интерфейс редактирования в Wagtail
- 12. content_panels в StreamBlock StreamField
- 13. Программно добавить контент в TableLayout на Android
- 14. Могу ли я добавить iPad popover программно?
- 15. Facebook: Могу ли я программно добавить друга?
- 16. Программно многоязычный контент в Alfresco
- 17. Как добавить контент в разделы программно в MVC/ASP.NET?
- 18. Как я могу исправить эту ошибку с помощью Wagtail CMS?
- 19. Как я могу изменить боковую панель от Wagtail?
- 20. Как я могу программно добавить beanPostProcessor в ClassPathXmlApplicationContext?
- 21. Как я могу добавить данные программно в linqqtosql?
- 22. Как я могу программно добавить элемент в это диалоговое окно?
- 23. Как я могу добавить запись в предпочтения файловой ассоциации программно?
- 24. Как я могу программно добавить триггеры в ASP.NET UpdatePanel?
- 25. Как я могу добавить зависимость от подпроекта программно в Gradle?
- 26. Как я могу добавить панель инструментов в панель инструментов программно?
- 27. C++ Как я могу добавить пользователя linux в группу программно
- 28. Как я могу добавить собственный список купонов программно в пурпурный?
- 29. Как я могу добавить TextView в существующий RelativeLayout программно?
- 30. Как я могу добавить программно более сложный столбец в GridView
Обратите внимание, что по крайней мере Wagtail 1.5 вам не нужно использовать строку JSON, созданную из массива словарей. Вместо этого вы можете напрямую использовать массив кортежей, например: my_page.body = [('raw_html', original_html)] ' – CoreDumpError