2016-03-16 25 views
0

我試圖在保存模型時在頁面的佔位符中添加插件。但我不知道如何將參數「data」傳遞給API的add_plugin()函數。如何使用add_plugin(API)將帶有數據的插件添加到頁面中?

這是如何我調用該函數

page = create_page(self.title, 'page.html', 'es', parent=query_pages[0]) 
placeholder = page.placeholders.get(slot='News Header') 
add_plugin(placeholder, 'ArticlePluginPublisher', 'es', **query_art[0].article) 

當我打電話add_plugin接下來出現的錯誤

add_plugin()參數**後必須是一個映射,而不是第

回答

0

您是否檢查docs**query_art[0].article與期望的參數不匹配,因爲它是一個實例;

  • 佔位符(cms.models.placeholdermodel.Placeholder實例) - 佔位符的插件添加到
  • plugin_type(字符串或cms.plugin_base.CMSPluginBase子類,必須是有效的插件) - 什麼類型插件添加
  • 語言(字符串) - 此插件語言代碼,必須在語言
  • 位置(字符串) - 定位到這個插件添加到佔位符,必須是有效的Django MPTT位置
  • 目標 - 父插件。必須插件實例
  • 數據(kwargs) - 該插件類型實例

數據數據預計是這樣一個字典,或者一些支持**拆包語法;

add_plugin(placeholder, 'ArticlePluginPublisher', 'es', **{'article': query_art[0].article}) 

查看函數調用中數據或kwargs的示例;

https://stackoverflow.com/a/1769475/1199464

相關問題