
Product
Introducing Socket Firewall Enterprise: Flexible, Configurable Protection for Modern Package Ecosystems
Socket Firewall Enterprise is now available with flexible deployment, configurable policies, and expanded language support.
django-embed-video
Advanced tools
Django app for easy embedding YouTube and Vimeo videos and music from SoundCloud.
Django app for easy embedding YouTube and Vimeo videos and music from SoundCloud.
.. image:: https://jazzband.co/static/img/badge.svg :target: https://jazzband.co/ :alt: Jazzband .. image:: https://github.com/jazzband/django-embed-video/workflows/Test/badge.svg :target: https://github.com/jazzband/django-embed-video/actions :alt: GitHub Actions .. image:: https://coveralls.io/repos/yetty/django-embed-video/badge.svg?branch=master :target: https://coveralls.io/r/yetty/django-embed-video?branch=master :alt: Coveralls coverage percentage .. image:: https://img.shields.io/pypi/pyversions/django-embed-video.svg :target: https://pypi.org/project/django-embed-video/ :alt: Supported Python versions .. image:: https://img.shields.io/pypi/djversions/django-embed-video.svg :target: https://pypi.org/project/django-embed-video/ :alt: Supported Django versions
Documentation is at: http://django-embed-video.rtfd.org/
#. Install django-embed-video:
::
pip install django-embed-video
or from sources
::
pip install git+https://github.com/jazzband/django-embed-video
#. Add embed_video to INSTALLED_APPS in your Django settings.
#. If you want to detect HTTP/S in template tags, you have to set request
context processor in settings.TEMPLATES:
.. code-block:: python
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
# ...
'OPTIONS': {
'context_processors': [
# ...
'django.template.context_processors.request',
],
},
},
]
#. Usage of template tags:
.. code-block:: html+django
{% load embed_video_tags %}
<!-- The video tag: -->
{% video item.video as my_video %}
URL: {{ my_video.url }}
Thumbnail: {{ my_video.thumbnail }}
Backend: {{ my_video.backend }}
{% video my_video "large" %}
{% endvideo %}
<!-- Or embed shortcut: -->
{% video my_video '800x600' %}
#. Usage of model fields
.. code-block:: python
from django.db import models
from embed_video.fields import EmbedVideoField
class Item(models.Model):
video = EmbedVideoField() # same like models.URLField()
This is a Jazzband <https://jazzband.co>_ project.
By contributing you agree to abide by the Contributor Code of Conduct <https://jazzband.co/about/conduct>_
and follow the guidelines <https://jazzband.co/about/guidelines>_.
EMBED_VIDEO_YOUTUBE_CHECK_THUMBNAIL to settings.hotfix docs directive
(#94 <https://github.com/jazzband/django-embed-video/pull/94>_)
update docs
(#92 <https://github.com/jazzband/django-embed-video/pull/92>_)
use tests_require and setup_requires for nose testing requirements
(#91 <https://github.com/jazzband/django-embed-video/pull/91>_)
add renderer kwarg to Widget render method to support Python 2.1 and later
(#88 <https://github.com/jazzband/django-embed-video/pull/88>_)
enable default HTTPS support for YouTube, VimeoBackend, SoundCloudBackend
(#86 <https://github.com/jazzband/django-embed-video/pull/86>_)
added syntax highlight in README.rst
(#81 <https://github.com/jazzband/django-embed-video/pull/81>_)
updating requests >=2.19
updates for Django 1.10 and 1.11
(#73 <https://github.com/jazzband/django-embed-video/pull/73>_)
update requirements for installation of the example project
(#72 <https://github.com/jazzband/django-embed-video/pull/72>_)
use secure connection to query soundcloud endpoint
(#68 <https://github.com/jazzband/django-embed-video/pull/68>_)
added support fort Django 1.9
(#52 <https://github.com/jazzband/django-embed-video/issues/52>_)
if possible YouTube thumbnails are returned in better resolution
(#43 <https://github.com/jazzband/django-embed-video/issues/43>_)
Backward incompatible changes:
filter embed_video_tags.embed has been removed
changed behaviour of extra params in video tag
(#34 <https://github.com/jazzband/django-embed-video/issues/34>, #36 <https://github.com/jazzband/django-embed-video/pull/36>)
Backward compatible changes:
added support for Django 1.7 and Django 1.8
added support for Vimeo channels
(#47 <https://github.com/jazzband/django-embed-video/pull/47>_)
fix resizing of SoundCloud iframe
(#41 <https://github.com/jazzband/django-embed-video/pull/41>_)
add support for YouTube mobile urls
(#27 <https://github.com/jazzband/django-embed-video/pull/27>_)
fix passing parameters in calling request library
(#28 <https://github.com/jazzband/django-embed-video/pull/28>_)
fix validation of urls
(#31 <https://github.com/jazzband/django-embed-video/issues/31>_)
video tag accepts kwargs
(#20 <https://github.com/jazzband/django-embed-video/pull/20>_)
video tag will not crash anymore with None passed as url
(#24 <https://github.com/jazzband/django-embed-video/issues/24>_)
Add VideoBackend.template_name and rendering embed code from file.
Allow relative sizes in template tag
(#19 <https://github.com/jazzband/django-embed-video/pull/19>_).
Fix handling invalid urls of SoundCloud.
(#21 <https://github.com/jazzband/django-embed-video/issues/21>_).
Catch VideoDoesntExistException and UnknownBackendException in
template tags and admin widget.
Add base exception EmbedVideoException.
Add EMBED_VIDEO_TIMEOUT to settings.
Fix renderering template tag if no url is provided
(#18 <https://github.com/jazzband/django-embed-video/issues/18>_)
If EMBED_VIDEO_TIMEOUT timeout is reached in templates, no exception is
raised, error is just logged.
Fix default size in template tag.
(See more... <https://github.com/jazzband/django-embed-video/commit/6cd3567197d6fdc31bc63fb799815e8368128b90>_)
Support for sites running on HTTPS
embed filter is deprecated and replaced by video filter.
caching for whole backends was removed and replaced by caching properties
minor improvements on example project (fixtures, urls)
Ability to overwrite embed code of backend
Caching backends properties
PyPy compatibility
Admin video mixin and video widget
Added Vimeo thumbnails support
Added caching of results
Added example project
Fixed template tag embed
Fixed raising UnknownIdException in YouTube detecting.
Documentation was rewrited and moved to http://django-embed-video.rtfd.org/ .
Custom backends (http://django-embed-video.rtfd.org/en/latest/examples.html#custom-backends).
Improved YouTube and Vimeo regex.
Support for Python 3.
Renamed base to backends.
Security fix: faked urls are treated as invalid. See this page <https://github.com/jazzband/django-embed-video/commit/d0d357b767e324a7cc21b5035357fdfbc7c8ce8e>_
for more details.
Fixes:
allow of empty video field.
requirements in setup.py
Added simplier way to embed video in one-line template tag::
{{ 'http://www.youtube.com/watch?v=guXyvo2FfLs'|embed:'large' }}
backend variable in video template tag.
Usage::
{% video item.video as my_video %} Backend: {{ my_video.backend }} {% endvideo %}
FAQs
Django app for easy embedding YouTube and Vimeo videos and music from SoundCloud.
We found that django-embed-video demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Product
Socket Firewall Enterprise is now available with flexible deployment, configurable policies, and expanded language support.

Security News
Open source dashboard CNAPulse tracks CVE Numbering Authorities’ publishing activity, highlighting trends and transparency across the CVE ecosystem.

Product
Detect malware, unsafe data flows, and license issues in GitHub Actions with Socket’s new workflow scanning support.