Skip to main content

Django app for easy embeding YouTube and Vimeo videos and music from SoundCloud.

Project description

django-embed-video

Django app for easy embedding YouTube and Vimeo videos and music from SoundCloud.

Jazzband GitHub Actions Coveralls coverage percentage Supported Python versions Supported Django versions

Documentation

Documentation is at: http://django-embed-video.rtfd.org/

Quick start

  1. Install django-embed-video:

    pip install django-embed-video

    or from sources

    pip install git+https://github.com/jazzband/django-embed-video
  2. Add embed_video to INSTALLED_APPS in your Django settings.

  3. If you want to detect HTTP/S in template tags, you have to set request context processor in settings.TEMPLATES:

    TEMPLATES = [
        {
            'BACKEND': 'django.template.backends.django.DjangoTemplates',
            # ...
            'OPTIONS': {
                'context_processors': [
                    # ...
                    'django.template.context_processors.request',
                ],
            },
        },
    ]
  4. Usage of template tags:

    {% 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' %}
  5. Usage of model fields

    from django.db import models
    from embed_video.fields import EmbedVideoField
    
    class Item(models.Model):
        video = EmbedVideoField()  # same like models.URLField()

Contributing

This is a Jazzband project. By contributing you agree to abide by the Contributor Code of Conduct and follow the guidelines.

Changes

Unreleased

Release 1.4.1 (January 6, 2022)

  • Add Code of Conduct to repository

  • Add support for Python 3.10

  • Add support for Django 3.2 and Django 4.0

  • Drop support for EOL Python 3.6

  • Drop support for EOL Django 3.0 and EOL Django 3.1

  • Remove Nose from dependencies due to version incompatibility

Release 1.4.0 (December 18, 2020)

  • Add lazy loading for video template tags.

  • Handle Vimeo admin “manage” URLs

  • Migrate from Travis CI to GitHub Actions.

  • Drop unsupported Django versions prior to 2.2.

  • Add support for Python up to 3.9.

  • Add support for Django up to 3.1.

  • Improve code formatting.

Release 1.3.3 (June 10, 2020)

  • Fix admin UI exception with form validation.

Release 1.3.2 (March 29, 2020)

  • Add support for Soundcloud mobile URLs.

Release 1.3.1 (January 6, 2020)

  • Add support for Vimeo review video URLs.

  • Update example project code.

Release 1.3 (August 30, 2019)

  • Drop unsupported Python version prior to 3.6.

  • Drop unsupported Django versions prior to 1.11.

  • Add support for Python up to 3.8 including PyPy.

  • Add support for Django up to 2.2.

  • Improve project structure, docs and language.

  • Improve CI and CD infrastructure and automation.

  • Move project to Jazzband organization.

Release 1.2.0 (October 04, 2018)

  • hotfix docs directive (#94)

  • update docs (#92)

  • use tests_require and setup_requires for nose testing requirements (#91)

  • add renderer kwarg to Widget render method to support Python 2.1 and later (#88)

  • enable default HTTPS support for YouTube, VimeoBackend, SoundCloudBackend (#86)

  • added syntax highlight in README.rst (#81)

  • updating requests >=2.19

Release 1.1.2 (April 27, 2017)

  • fix pypi

Release 1.1.1 (March 24, 2017)

  • updates for Django 1.10 and 1.11 (#73)

  • update requirements for installation of the example project (#72)

  • use secure connection to query soundcloud endpoint (#68)

Release 1.1.0 (Jan 19, 2016)

  • added support fort Django 1.9 (#52)

  • if possible YouTube thumbnails are returned in better resolution (#43)

Release 1.0.0 (May 01, 2015)

Backward incompatible changes:

  • filter embed_video_tags.embed has been removed

  • changed behaviour of extra params in video tag (#34, #36)

Backward compatible changes:

  • added support for Django 1.7 and Django 1.8

  • added support for Vimeo channels (#47)

  • fix resizing of SoundCloud iframe (#41)

Release 0.11 (July 26, 2014)

  • add support for YouTube mobile urls (#27)

  • fix passing parameters in calling request library (#28)

  • fix validation of urls (#31)

Release 0.10 (May 24, 2014)

  • video tag accepts kwargs (#20)

  • video tag will not crash anymore with None passed as url (#24)

Release 0.9 (Apr. 04, 2014)

  • Add VideoBackend.template_name and rendering embed code from file.

  • Allow relative sizes in template tag (#19).

  • Fix handling invalid urls of SoundCloud. (#21).

  • Catch VideoDoesntExistException and UnknownBackendException in template tags and admin widget.

  • Add base exception EmbedVideoException.

Release 0.8 (Feb. 22, 2014)

  • Add EMBED_VIDEO_TIMEOUT to settings.

  • Fix renderering template tag if no url is provided (#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…)

Release 0.7 (Dec. 21, 2013)

  • 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)

Release 0.6 (Oct. 04, 2013)

  • Ability to overwrite embed code of backend

  • Caching backends properties

  • PyPy compatibility

  • Admin video mixin and video widget

Release 0.5 (Sep. 03, 2013)

  • Added Vimeo thumbnails support

  • Added caching of results

  • Added example project

  • Fixed template tag embed

  • Fixed raising UnknownIdException in YouTube detecting.

Release 0.4 (Aug. 22, 2013)

Release 0.3 (Aug. 20, 2013)

  • Security fix: faked urls are treated as invalid. See this page 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 %}

Release 0.2 (June 25, 2013)

  • Support of SoundCloud

Release 0.1 (June 1, 2013)

  • Initial release

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-embed-video-1.4.1.tar.gz (38.9 kB view details)

Uploaded Source

Built Distribution

django_embed_video-1.4.1-py3-none-any.whl (23.5 kB view details)

Uploaded Python 3

File details

Details for the file django-embed-video-1.4.1.tar.gz.

File metadata

  • Download URL: django-embed-video-1.4.1.tar.gz
  • Upload date:
  • Size: 38.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.5

File hashes

Hashes for django-embed-video-1.4.1.tar.gz
Algorithm Hash digest
SHA256 3ab98f69e47bf5f424ac716b0ccd27c9573806b7fc58fd36ea8c21f1ab55f305
MD5 2411c05f0cccf17decd2c7aac93fb0d4
BLAKE2b-256 0158550193b1ac45c98afa1ebd2bfdb2d09f5b653f93e25fb3662f6a9e030583

See more details on using hashes here.

File details

Details for the file django_embed_video-1.4.1-py3-none-any.whl.

File metadata

  • Download URL: django_embed_video-1.4.1-py3-none-any.whl
  • Upload date:
  • Size: 23.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.5

File hashes

Hashes for django_embed_video-1.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 fbf7c905ef6b38cf39e5d238fae610b3fa6b54afa456a204e41b50f9eb5633d1
MD5 25c58dfd4668067271546f06ebd68f91
BLAKE2b-256 ff9fd97d9a734191d6e42058701eca3ee32044f62ccb71ed5851811890e524a7

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page