@toolbar_pool.register
class PageFieldExtensionToolbar(ExtensionToolbar):
model = PageFieldExtension
def populate(self):
# setup the extension toolbar with permissions and sanity checks
current_page_menu = self._setup_extension_toolbar()
# if its all ok
if current_page_menu:
# retrieves the instance of the current extension (if any)
# and the toolbar item URL
page_extension, url = self.get_page_extension_admin()
if url:
# adds separator
current_page_menu.add_break()
# adds a toolbar item
current_page_menu.add_modal_item(
'Extra settings',
url=url,
disabled=not self.toolbar.edit_mode,
)
您可以在页面工具栏中创建用于检查Extra settings是否存在的测试:
def test_existence_of_extra_settings(self):
"""
Test if Extra settings appears in Page toolbar.
"""
request = self.get_page_request(self.page, self.superuser, "/", edit=True)
toolbar = CMSToolbar(request)
page_item = self.get_page_item(toolbar)
template_item = [item for item in page_item.items
if force_text(getattr(item, 'name', '')) == 'Extra settings...']
self.assertEqual(len(template_item), 1)
经过一些研究并查看DjangoCMS代码库之后,我成功地编写了一些扩展DjangoCMS工具栏的测试。你知道吗
如果您对页面进行了一些扩展,例如
models.py
并填充
cms_toolbar.py
中的工具栏菜单您可以在页面工具栏中创建用于检查
Extra settings
是否存在的测试:测试页扩展功能:
在实际页面上进行测试页面扩展html解析(如果您正在使用它进行某些操作,显示一些字幕或背景图像):
这里是方法
get_page_request
和get_page_item
,您也可以在DjangoCMS代码库中找到它们。你知道吗相关问题 更多 >
编程相关推荐