本文整理匯總了Python中wagtail.wagtailadmin.edit_handlers.TabbedInterface.required_fields方法的典型用法代碼示例。如果您正苦於以下問題:Python TabbedInterface.required_fields方法的具體用法?Python TabbedInterface.required_fields怎麽用?Python TabbedInterface.required_fields使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類wagtail.wagtailadmin.edit_handlers.TabbedInterface
的用法示例。
在下文中一共展示了TabbedInterface.required_fields方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: TestTabbedInterface
# 需要導入模塊: from wagtail.wagtailadmin.edit_handlers import TabbedInterface [as 別名]
# 或者: from wagtail.wagtailadmin.edit_handlers.TabbedInterface import required_fields [as 別名]
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)