Skip to main content

wagtail-image-directories

Organize your Wagtail CMS media files into structured year/slug directories on disk with an interactive visual Image Navigator and bulk-action file manager in the Wagtail admin.

Features

  • Structured Storage: Images are physically organized on disk as media/images/{year}/{slug}/filename.ext.
  • Image Navigator: A dashboard grouped by root directories (years) with real-time statistics (file count, total size, last updated).
  • In-place Drag & Drop Upload: Upload images directly into the targeted folder without page reloads.
  • Bulk Operations: Select multiple images to move or delete with automatic disk cleanup.
  • Directory Management: Create, rename, and merge directories right from the admin UI.

Installation

pip install wagtail-image-directories

Add to INSTALLED_APPS in your settings.py:

INSTALLED_APPS = [
    ...
    "wagtail_image_directories",
    ...
]

Configure your Custom Image Model

In your models file:

from wagtail_image_directories.models import AbstractDirectoryImage
from wagtail.images.models import AbstractRendition

class CustomImage(AbstractDirectoryImage):
    pass

class CustomRendition(AbstractRendition):
    image = models.ForeignKey(CustomImage, on_delete=models.CASCADE, related_name="renditions")
    class Meta:
        unique_together = (("image", "filter_spec", "focal_point_key"),)

Point Wagtail to your custom model in settings.py:

WAGTAILIMAGES_IMAGE_MODEL = 'your_app.CustomImage'

Run migrations:

python manage.py makemigrations
python manage.py migrate

Case Study & Background

Read the full story behind the migration and architecture on our blog: Vs-Svet.ru / ZenWay.ru.

To enable seamless native image uploads directly inside your rich text editor with full directory awareness, check out our companion plugin: 👉 wagtail-prose-editor-images

Release files for wagtail-image-directories 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for wagtail-image-directories 0.1.1
File Size Uploaded
wagtail_image_directories-0.1.1.tar.gz 26.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for wagtail-image-directories 0.1.1
File Interpreter ABI Platform
wagtail_image_directories-0.1.1-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 60.8 kB

Release files / wagtail_image_directories-0.1.1.tar.gz

Download URL wagtail_image_directories-0.1.1.tar.gz
Size 26.7 kB
Tags Source
SHA-256 checksum
How to use checksums
a67ce9e2655ad1ee5a9341cb7bd1ef674b4fd293defab97c5f08f67a814d1eed
BLAKE2b-256 checksum
How to use checksums
0f880104e945c196dec939565d56f45d27eea2ea2827bc487dadbf78927e4c14
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.32.5

Release files / wagtail_image_directories-0.1.1-py2.py3-none-any.whl

Download URL wagtail_image_directories-0.1.1-py2.py3-none-any.whl
Size 34.1 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
986fe3a6b1bc0bf4437e1e1bfc39ad1639f5d49fb8c76eb0b61b0d801c3cac0b
BLAKE2b-256 checksum
How to use checksums
5e298da788d25123e1190d25aa15a9bc26453883aff34b7267ff8282ce52dd11
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.32.5

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page