當前位置: 首頁>>代碼示例>>Python>>正文


Python blocks.EmbedBlock方法代碼示例

本文整理匯總了Python中wagtail.embeds.blocks.EmbedBlock方法的典型用法代碼示例。如果您正苦於以下問題:Python blocks.EmbedBlock方法的具體用法?Python blocks.EmbedBlock怎麽用?Python blocks.EmbedBlock使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在wagtail.embeds.blocks的用法示例。


在下文中一共展示了blocks.EmbedBlock方法的11個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: test_render_within_structblock

# 需要導入模塊: from wagtail.embeds import blocks [as 別名]
# 或者: from wagtail.embeds.blocks import EmbedBlock [as 別名]
def test_render_within_structblock(self, get_embed):
        """
        When rendering the value of an EmbedBlock directly in a template
        (as happens when accessing it as a child of a StructBlock), the
        proper embed output should be rendered, not the URL.
        """
        get_embed.return_value = Embed(html='<h1>Hello world!</h1>')

        block = blocks.StructBlock([
            ('title', blocks.CharBlock()),
            ('embed', EmbedBlock()),
        ])

        block_val = block.to_python({'title': 'A test', 'embed': 'http://www.example.com/foo'})

        temp = template.Template('embed: {{ self.embed }}')
        context = template.Context({'self': block_val})
        result = temp.render(context)

        self.assertIn('<h1>Hello world!</h1>', result)

        # Check that get_embed was called correctly
        get_embed.assert_any_call('http://www.example.com/foo') 
開發者ID:wagtail,項目名稱:wagtail,代碼行數:25,代碼來源:test_embeds.py

示例2: test_default

# 需要導入模塊: from wagtail.embeds import blocks [as 別名]
# 或者: from wagtail.embeds.blocks import EmbedBlock [as 別名]
def test_default(self):
        block1 = EmbedBlock()
        self.assertEqual(block1.get_default(), None)

        block2 = EmbedBlock(default='')
        self.assertEqual(block2.get_default(), None)

        block3 = EmbedBlock(default=None)
        self.assertEqual(block3.get_default(), None)

        block4 = EmbedBlock(default='http://www.example.com/foo')
        self.assertIsInstance(block4.get_default(), EmbedValue)
        self.assertEqual(block4.get_default().url, 'http://www.example.com/foo')

        block5 = EmbedBlock(default=EmbedValue('http://www.example.com/foo'))
        self.assertIsInstance(block5.get_default(), EmbedValue)
        self.assertEqual(block5.get_default().url, 'http://www.example.com/foo') 
開發者ID:wagtail,項目名稱:wagtail,代碼行數:19,代碼來源:test_embeds.py

示例3: __init__

# 需要導入模塊: from wagtail.embeds import blocks [as 別名]
# 或者: from wagtail.embeds.blocks import EmbedBlock [as 別名]
def __init__(self, *args, **kwargs):
        if "default" not in kwargs:
            kwargs["default"] = None

        super().__init__(
            [
                ("paragraph", RichTextBlock(features=RICH_TEXT_FEATURES)),
                ("image", ImageChooserBlock()),
                ("button", ButtonBlock()),
                ("embed", EmbedBlock()),
                (
                    "embed_html",
                    RawHTMLBlock(
                        help_text=(
                            "Warning: be careful what you paste here, since this "
                            "field could introduce XSS (or similar) bugs. "
                            "This field is meant solely for third-party embeds."
                        )
                    ),
                ),
                ("code_snippet", CodeSnippetBlock()),
            ],
            **kwargs
        ) 
開發者ID:mdn,項目名稱:developer-portal,代碼行數:26,代碼來源:fields.py

示例4: test_deserialize

# 需要導入模塊: from wagtail.embeds import blocks [as 別名]
# 或者: from wagtail.embeds.blocks import EmbedBlock [as 別名]
def test_deserialize(self):
        """
        Deserialising the JSONish value of an EmbedBlock (a URL) should give us an EmbedValue
        for that URL
        """
        block = EmbedBlock(required=False)

        block_val = block.to_python('http://www.example.com/foo')
        self.assertIsInstance(block_val, EmbedValue)
        self.assertEqual(block_val.url, 'http://www.example.com/foo')

        # empty values should yield None
        empty_block_val = block.to_python('')
        self.assertEqual(empty_block_val, None) 
開發者ID:wagtail,項目名稱:wagtail,代碼行數:16,代碼來源:test_embeds.py

示例5: test_serialize

# 需要導入模塊: from wagtail.embeds import blocks [as 別名]
# 或者: from wagtail.embeds.blocks import EmbedBlock [as 別名]
def test_serialize(self):
        block = EmbedBlock(required=False)

        block_val = EmbedValue('http://www.example.com/foo')
        serialized_val = block.get_prep_value(block_val)
        self.assertEqual(serialized_val, 'http://www.example.com/foo')

        serialized_empty_val = block.get_prep_value(None)
        self.assertEqual(serialized_empty_val, '') 
開發者ID:wagtail,項目名稱:wagtail,代碼行數:11,代碼來源:test_embeds.py

示例6: test_render

# 需要導入模塊: from wagtail.embeds import blocks [as 別名]
# 或者: from wagtail.embeds.blocks import EmbedBlock [as 別名]
def test_render(self, get_embed):
        get_embed.return_value = Embed(html='<h1>Hello world!</h1>')

        block = EmbedBlock()
        block_val = block.to_python('http://www.example.com/foo')

        temp = template.Template('embed: {{ embed }}')
        context = template.Context({'embed': block_val})
        result = temp.render(context)

        # Check that the embed was in the returned HTML
        self.assertIn('<h1>Hello world!</h1>', result)

        # Check that get_embed was called correctly
        get_embed.assert_any_call('http://www.example.com/foo') 
開發者ID:wagtail,項目名稱:wagtail,代碼行數:17,代碼來源:test_embeds.py

示例7: test_render_form

# 需要導入模塊: from wagtail.embeds import blocks [as 別名]
# 或者: from wagtail.embeds.blocks import EmbedBlock [as 別名]
def test_render_form(self):
        """
        The form field for an EmbedBlock should be a text input containing
        the URL
        """
        block = EmbedBlock()

        form_html = block.render_form(EmbedValue('http://www.example.com/foo'), prefix='myembed')
        self.assertIn('<input ', form_html)
        self.assertIn('value="http://www.example.com/foo"', form_html) 
開發者ID:wagtail,項目名稱:wagtail,代碼行數:12,代碼來源:test_embeds.py

示例8: test_clean_required

# 需要導入模塊: from wagtail.embeds import blocks [as 別名]
# 或者: from wagtail.embeds.blocks import EmbedBlock [as 別名]
def test_clean_required(self, get_embed):
        get_embed.return_value = Embed(html='<h1>Hello world!</h1>')

        block = EmbedBlock()

        cleaned_value = block.clean(
            EmbedValue('https://www.youtube.com/watch?v=_U79Wc965vw'))
        self.assertIsInstance(cleaned_value, EmbedValue)
        self.assertEqual(cleaned_value.url,
                         'https://www.youtube.com/watch?v=_U79Wc965vw')

        with self.assertRaisesMessage(ValidationError, ''):
            block.clean(None) 
開發者ID:wagtail,項目名稱:wagtail,代碼行數:15,代碼來源:test_embeds.py

示例9: test_clean_non_required

# 需要導入模塊: from wagtail.embeds import blocks [as 別名]
# 或者: from wagtail.embeds.blocks import EmbedBlock [as 別名]
def test_clean_non_required(self, get_embed):
        get_embed.return_value = Embed(html='<h1>Hello world!</h1>')

        block = EmbedBlock(required=False)

        cleaned_value = block.clean(
            EmbedValue('https://www.youtube.com/watch?v=_U79Wc965vw'))
        self.assertIsInstance(cleaned_value, EmbedValue)
        self.assertEqual(cleaned_value.url,
                         'https://www.youtube.com/watch?v=_U79Wc965vw')

        cleaned_value = block.clean(None)
        self.assertIsNone(cleaned_value) 
開發者ID:wagtail,項目名稱:wagtail,代碼行數:15,代碼來源:test_embeds.py

示例10: test_clean_invalid_url

# 需要導入模塊: from wagtail.embeds import blocks [as 別名]
# 或者: from wagtail.embeds.blocks import EmbedBlock [as 別名]
def test_clean_invalid_url(self, get_embed):
        get_embed.side_effect = EmbedNotFoundException

        non_required_block = EmbedBlock(required=False)

        with self.assertRaises(ValidationError):
            non_required_block.clean(
                EmbedValue('http://no-oembed-here.com/something'))

        required_block = EmbedBlock()

        with self.assertRaises(ValidationError):
            required_block.clean(
                EmbedValue('http://no-oembed-here.com/something')) 
開發者ID:wagtail,項目名稱:wagtail,代碼行數:16,代碼來源:test_embeds.py

示例11: serialise_block

# 需要導入模塊: from wagtail.embeds import blocks [as 別名]
# 或者: from wagtail.embeds.blocks import EmbedBlock [as 別名]
def serialise_block(self, block, value):
        if hasattr(block, 'to_graphql_representation'):
            return block.to_graphql_representation(value)
        elif isinstance(block, blocks.RichTextBlock):
            return serialize_rich_text(value.source)
        elif isinstance(block, EmbedBlock):
            try:
                embed = get_embed(value.url)
                return {
                    'html': embed.html,
                    'url': value.url,
                }
            except EmbedException:
                return {
                    'html': '',
                    'url': None
                }
        elif isinstance(block, ImageChooserBlock):
            # FIXME
            return {
                'id': value.id,
                'alt': value.title,
                'src': settings.MEDIA_PREFIX + value.file.url,
                'hash': value.get_file_hash()
            }
        elif isinstance(block, blocks.FieldBlock):
            return value
        elif isinstance(block, blocks.StructBlock):
            return self.serialise_struct_block(block, value)
        elif isinstance(block, blocks.ListBlock):
            return self.serialise_list_block(block, value)
        elif isinstance(block, blocks.StreamBlock):
            return self.serialise_stream_block(block, value) 
開發者ID:torchbox,項目名稱:wagtail-torchbox,代碼行數:35,代碼來源:streamfield.py


注:本文中的wagtail.embeds.blocks.EmbedBlock方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。