Skip to main content

Django app for easy embedding 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

Release 1.4.8 (November 19, 2022)

  • Fixes in migrations and documentation.

Release 1.4.7 (September 28, 2022)

  • Fix rST file formatting for release automation approval.

Release 1.4.6 (September 28, 2022)

  • Use Django 3.2 LTS for the example project.

  • Add URLvalidator to validate input in the admin widget.

Release 1.4.5 (September 1, 2022)

  • Add support for Django 4.1

Release 1.4.4 (April 18, 2022)

  • Add EMBED_VIDEO_YOUTUBE_CHECK_THUMBNAIL to settings.

  • Drop support for EOL Django 2.2.

Release 1.4.3 (April 8, 2022)

  • Add support for YouTube short URLs.

Release 1.4.2 (March 17, 2022)

  • Add Polish translation

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.8.tar.gz (41.2 kB view details)

Uploaded Source

Built Distribution

django_embed_video-1.4.8-py3-none-any.whl (23.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: django-embed-video-1.4.8.tar.gz
  • Upload date:
  • Size: 41.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.6

File hashes

Hashes for django-embed-video-1.4.8.tar.gz
Algorithm Hash digest
SHA256 e30ea41a90fb7971a25408e618092dd91e7f344e513e2996c91ef7fd04e6ee89
MD5 e97c962fc93e65b11b8a1efab5a2e176
BLAKE2b-256 f1ba37992eb69bc46b2d15b35210d9d5c2845f49fcbe86f9414cf8c25ee222c0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for django_embed_video-1.4.8-py3-none-any.whl
Algorithm Hash digest
SHA256 57c76e64ebb0a88339ba974fed15aabb6131b1a6376228a7d043d9e9b1da2ab3
MD5 3473765f7ed148ab48f64eb950ab43a5
BLAKE2b-256 3b923f1a12299b93a48ecc9a701a1ae3b3b19f9ca50c47e3d0d6a1612ecca89f

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