Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

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

Project Description



pip install django-media-explorer

Update settings

Add these to your INSTALLED_APPS settings


Add these to your

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

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

    from media_explorer.settings import *
except ImportError:

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 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 makemigrations
python 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 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 to download and run an example blog application.


Run this command to run all the DME tests.

python test media_explorer.tests

Or you can run the tests individually.

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

Release History

This version
History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


Download Files

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

Filename, Size & Hash SHA256 Hash Help File Type Python Version Upload Date
(2.6 MB) Copy SHA256 Hash SHA256
Wheel py2 May 27, 2016
(2.5 MB) Copy SHA256 Hash SHA256
Source None May 27, 2016

Supported By

Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Kabu Creative Kabu Creative UX & Design Google Google Cloud Servers Fastly Fastly CDN StatusPage StatusPage Statuspage DigiCert DigiCert EV Certificate