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.0

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.0
File Size Uploaded
wagtail_image_directories-0.1.0.tar.gz 26.0 kB Details

Built distribution (wheel)

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

Total release size: 59.0 kB

Release files / wagtail_image_directories-0.1.0.tar.gz

Download URL wagtail_image_directories-0.1.0.tar.gz
Size 26.0 kB
Tags Source
SHA-256 checksum
How to use checksums
8fc65b38d4f0563e71db44e4a884ec465dbb799a67068cbe8b0f5f4c1464bb23
BLAKE2b-256 checksum
How to use checksums
71499aefb381f3f205ad9b250d1eab38392f4532cf861720dc15e78d114123f3
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.0-py2.py3-none-any.whl

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

Release history Release notifications | RSS feed

0.1.1

2 release files

This release

0.1.0 This release

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