wagtail-embedvideos
wagtail-embedvideos copied to clipboard
🎬 Integration of django-embed-video for Wagtail CMS
wagtail-embedvideos
.. image:: https://img.shields.io/pypi/v/wagtail-embedvideos.svg :target: https://pypi.python.org/pypi/wagtail-embedvideos/
.. image:: https://img.shields.io/pypi/dm/wagtail-embedvideos.svg :target: https://pypi.python.org/pypi/wagtail-embedvideos/
.. image:: https://img.shields.io/github/license/bashu/wagtail-embedvideos.svg :target: https://pypi.python.org/pypi/wagtail-embedvideos/
.. image:: https://app.travis-ci.com/bashu/wagtail-embedvideos.svg?branch=develop :target: https://app.travis-ci.com/bashu/wagtail-embedvideos
Simple app that works similar to wagtailimages
, but for embedding YouTube and Vimeo videos and music from SoundCloud.
The current version is tested for compatiblily with the following:
- Wagtail versions 2.7 to 2.15
- Django versions 2.2 to 3.2
- Python versions 3.6 and 3.9
Maintained by Basil Shubin <https://github.com/bashu>
, and some great
contributors <https://github.com/bashu/wagtail-embedvideos/contributors>
.
.. raw:: html
<p align="center">
<img src="https://raw.githubusercontent.com/bashu/wagtail-embedvideos/develop/screenshot.png">
</p>
Installation
First install the module, preferably in a virtual environment. It can be installed from PyPI:
.. code-block:: shell
pip install wagtail-embedvideos
Requirements
You must have *django-embed-video* installed and configured, see the
django-embed-video_ documentation for details and setup instructions.
Setup
-----
Make sure the project is configured for django-embed-video_.
Then add the following settings:
.. code-block:: python
INSTALLED_APPS += (
"wagtail_embed_videos",
)
Then run ``./manage.py migrate`` to create the required database tables.
Usage
-----
In models, implement as a ``ForeignKey`` relation, same as ``wagtailimages``.
.. code-block:: python
# models.py
from wagtail.core.models import Page, PageBase
from wagtail_embed_videos import get_embed_video_model_string
from wagtail_embed_videos.edit_handlers import EmbedVideoChooserPanel
class CustomPage(Page):
video = models.ForeignKey(
get_embed_video_model_string(),
null=True, blank=True,
on_delete=models.SET_NULL,
related_name='+'
)
# ...
content_panels = [
EmbedVideoChooserPanel('video'),
]
In templates, load the ``embed_video_tags`` library in every template where you want to use it:
.. code-block:: html+django
<!-- custom_page.html -->
{% load embed_video_tags %}
{% video self.video.url as my_video %}
{% video my_video 'small' %}
{% endvideo %}
Check django-embed-video_ documentation for more details.
Contributing
------------
If you like this module, forked it, or would like to improve it, please let us know!
Pull requests are welcome too. :-)
Credits
-------
`wagtail-embedvideos <https://github.com/bashu/wagtail-embedvideos/>`_ was originally started by `InfoPortugal, S.A. <https://github.com/infoportugal/>`_ who has now unfortunately abandoned the project.
License
-------
``wagtail-embedvideos`` is released under the BSD license.
.. _django-embed-video: https://github.com/jazzband/django-embed-video/