本文整理汇总了Python中wagtail.wagtailadmin.edit_handlers.TabbedInterface类的典型用法代码示例。如果您正苦于以下问题:Python TabbedInterface类的具体用法?Python TabbedInterface怎么用?Python TabbedInterface使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了TabbedInterface类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: get_edit_handler
def get_edit_handler(self):
"""
Get the EditHandler to use in the Wagtail admin when editing this page type.
"""
if hasattr(self, 'edit_handler'):
return self.edit_handler.bind_to_model(self)
# construct a TabbedInterface made up of content_panels, promote_panels
# and settings_panels, skipping any which are empty
tabs = []
for tab in self.tabs:
title, content, *args = tab
kwargs = args[0] if args else {}
tabs.append(ObjectList(content, heading=title, **kwargs))
model = self._meta.model
EditHandler = TabbedInterface(tabs,
base_form_class=model.base_form_class)
return EditHandler.bind_to_model(model)
开发者ID:fabiommendes,项目名称:codeschool,代码行数:20,代码来源:wagtailadmin.py
示例2: setUp
def setUp(self):
# a custom tabbed interface for EventPage
self.EventPageTabbedInterface = TabbedInterface([
ObjectList([
FieldPanel('title', widget=forms.Textarea),
FieldPanel('date_from'),
FieldPanel('date_to'),
], heading='Event details', classname="shiny"),
ObjectList([
InlinePanel('speakers', label="Speakers"),
], heading='Speakers'),
]).bind_to_model(EventPage)
开发者ID:Fluxflashor,项目名称:wagtail,代码行数:12,代码来源:test_edit_handlers.py
示例3: get_page_edit_handler
def get_page_edit_handler(page_class):
if page_class not in PAGE_EDIT_HANDLERS:
if hasattr(page_class, 'edit_handler'):
# use the edit handler specified on the page class
edit_handler = page_class.edit_handler
else:
# construct a TabbedInterface made up of content_panels, promote_panels
# and settings_panels, skipping any which are empty
tabs = []
if page_class.content_panels:
tabs.append(ObjectList(page_class.content_panels, heading=_('Content')))
if page_class.promote_panels:
tabs.append(ObjectList(page_class.promote_panels, heading=_('Promote')))
if page_class.settings_panels:
tabs.append(ObjectList(page_class.settings_panels, heading=_('Settings'), classname="settings"))
edit_handler = TabbedInterface(tabs)
PAGE_EDIT_HANDLERS[page_class] = edit_handler.bind_to_model(page_class)
return PAGE_EDIT_HANDLERS[page_class]
开发者ID:pjdelport,项目名称:wagtail,代码行数:22,代码来源:pages.py
示例4: TestTabbedInterface
class TestTabbedInterface(TestCase):
def setUp(self):
# a custom tabbed interface for EventPage
self.EventPageTabbedInterface = TabbedInterface([
ObjectList([
FieldPanel('title', widget=forms.Textarea),
FieldPanel('date_from'),
FieldPanel('date_to'),
], heading='Event details', classname="shiny"),
ObjectList([
InlinePanel('speakers', label="Speakers"),
], heading='Speakers'),
]).bind_to_model(EventPage)
def test_get_form_class(self):
EventPageForm = self.EventPageTabbedInterface.get_form_class(EventPage)
form = EventPageForm()
# form must include the 'speakers' formset required by the speakers InlinePanel
self.assertIn('speakers', form.formsets)
# form must respect any overridden widgets
self.assertEqual(type(form.fields['title'].widget), forms.Textarea)
def test_render(self):
EventPageForm = self.EventPageTabbedInterface.get_form_class(EventPage)
event = EventPage(title='Abergavenny sheepdog trials')
form = EventPageForm(instance=event)
tabbed_interface = self.EventPageTabbedInterface(
instance=event,
form=form
)
result = tabbed_interface.render()
# result should contain tab buttons
self.assertIn('<a href="#event-details" class="active">Event details</a>', result)
self.assertIn('<a href="#speakers" class="">Speakers</a>', result)
# result should contain tab panels
self.assertIn('<div class="tab-content">', result)
self.assertIn('<section id="event-details" class="shiny active">', result)
self.assertIn('<section id="speakers" class=" ">', result)
# result should contain rendered content from descendants
self.assertIn('Abergavenny sheepdog trials</textarea>', result)
# this result should not include fields that are not covered by the panel definition
self.assertNotIn('signup_link', result)
def test_required_fields(self):
# required_fields should report the set of form fields to be rendered recursively by children of TabbedInterface
result = set(self.EventPageTabbedInterface.required_fields())
self.assertEqual(result, set(['title', 'date_from', 'date_to']))
def test_render_form_content(self):
EventPageForm = self.EventPageTabbedInterface.get_form_class(EventPage)
event = EventPage(title='Abergavenny sheepdog trials')
form = EventPageForm(instance=event)
tabbed_interface = self.EventPageTabbedInterface(
instance=event,
form=form
)
result = tabbed_interface.render_form_content()
# rendered output should contain field content as above
self.assertIn('Abergavenny sheepdog trials</textarea>', result)
# rendered output should NOT include fields that are in the model but not represented
# in the panel definition
self.assertNotIn('signup_link', result)
开发者ID:Fluxflashor,项目名称:wagtail,代码行数:72,代码来源:test_edit_handlers.py
注:本文中的wagtail.wagtailadmin.edit_handlers.TabbedInterface类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论