Linked Questions

Popular Questions

Creating a custom Wagtail OEmbedFinder

Asked by At

I'm following the documentation and also this example to create a custom OEmbed Finder in my Wagtail site. (Ultimately I want to modify the HTML output for YouTube videos to use the domain, rather than

I have created this in

from wagtail.embeds.finders.oembed import OEmbedFinder

class YouTubeOEmbedFinder(OEmbedFinder):

    def find_embed(self, url, max_width=None):
        embed = super().find_embed(url, max_width)

        # Just to see that it's doing something:
        embed['html'] = '<p>Hello</p>'

        return embed

And added this in my settings:

from wagtail.embeds.oembed_providers import youtube

        'class': 'myapp.embeds.finders.oembed.YouTubeOEmbedFinder',
        'providers': [youtube],
        # Handles all other oEmbed providers the default way
        'class': 'wagtail.embeds.finders.oembed',

But nothing is different - the standard YouTube embed is in the published page. As far as I can tell, my find_embed() method is never called. I must have made some stupid mistake, but I'm stumped.

Related Questions