Skip to main content

A Django application to manage your images, video links, embeds and slideshows.

Project description

Installation

Install

pip install django-media-explorer

Update settings

Add these to your INSTALLED_APPS settings

'rest_framework',
'micawber.contrib.mcdjango',
'media_explorer',
'ckeditor',

Add these to your urls.py

url("^ckeditor/", include("ckeditor.urls")),
url("^", include("media_explorer.urls")),

Copy and paste this code into the bottom of your settings.py file.

try:
    from media_explorer.settings import *
except ImportError:
    pass

The DME application will try to resize your images during your upload. If you do not want to resize your images then set the setting DME_RESIZE = False somewhere in your settings.py file (after the “media_explorer.settings” import).

If you use your own JQuery in your admin pages and you do not want the DME application JQuery to conflict with yours then set DME_INCLUDE_JQUERY = False (since v0.3.6).

Create tables

Run these migration commands to create your database tables.

python manage.py makemigrations
python manage.py migrate

How it works

Add the MediaImageField, MediaField and RichTextField fields to your model.

from django.db import models
from media_explorer.fields import MediaImageField, MediaField, RichTextField

class Blog(models.Model):
    """
    Example Blog model
    """

    title = models.CharField(max_length=150)

    #Since v0.3.6
    #This behaves exactly as Django's ImageField with following differences:
    #1) You can add an optional max_upload_size=xxx to limit upload size
    #2) After image is saved you can see it listed at http://YOUR-DJANGO-SITE-URL/media_explorer
    #3) If the setting DME_RESIZE = True then image will be resized
    my_image = MediaImageField(max_upload_size=5242880,upload_to="my_dir")

    #Since v0.3.0
    #If you do not provide a type then media can be image/video/gallery
    lead_media = MediaField()

    #Since v0.3.0
    #Providing a type will restrict the element to this type
    video = MediaField(type="video")

    #Since v0.3.0
    #You will see a CKEditor WYSIWYG with DME plugin
    #NOTE: You cannot use more than one RichText field in a model
    entry = RichTextField()

After you add media fields to your model you can add data via the admin page (See screenshot - the red-circled button is the DME plugin button. It will allow you to insert media elements into your WYSIWYG)

After you add media you can access them by going to http://YOUR-DJANGO-SITE-URL/media_explorer/ (See screenshot here).

Go to https://github.com/oxfamamerica/django-media-explorer for more documentation on how to add images, videos and galleries programatically via the API and how to display media in your templates.

Go to https://github.com/oxfamamerica/media_explorer_example to download and run an example blog application.

Tests

Run this command to run all the DME tests.

python manage.py test media_explorer.tests

Or you can run the tests individually.

python manage.py test media_explorer.tests.elements.tests
python manage.py test media_explorer.tests.galleries.tests
python manage.py test media_explorer.tests.customfields.tests

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-media-explorer-0.3.10.tar.gz (2.5 MB view details)

Uploaded Source

Built Distribution

django_media_explorer-0.3.10-py2-none-any.whl (2.6 MB view details)

Uploaded Python 2

File details

Details for the file django-media-explorer-0.3.10.tar.gz.

File metadata

File hashes

Hashes for django-media-explorer-0.3.10.tar.gz
Algorithm Hash digest
SHA256 8c61cd80434f27bdc30a5fb26ff5a7346f2af3fee25b1b38bc955cf83ef55408
MD5 475604aaf6d543ed8a767d3ea17a3734
BLAKE2b-256 ace34b06046a40b830315e5a42421b1b6e586ea1b7041dfb2a9a60b380536cba

See more details on using hashes here.

File details

Details for the file django_media_explorer-0.3.10-py2-none-any.whl.

File metadata

File hashes

Hashes for django_media_explorer-0.3.10-py2-none-any.whl
Algorithm Hash digest
SHA256 75f749de6796a048935b883b6f5690bca14b638a75a3a16611ef1583b90202ee
MD5 8bc475888bbad5126806d1d7b538f9e2
BLAKE2b-256 1d719f8330adde3e48010ad85aeab843350fa099e1599ed50cfb79232b97c790

See more details on using hashes here.

Supported by

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