Agent skill · jeffallan

django-storages-s3

Use when configuring Django to store static and media files on AWS S3 with django-storages. Invoke when working with the STORAGES setting, S3 buckets, presigned URLs, CloudFront, or boto3-backed file storage in settings.py. Configures the Django 4.2+ STORAGES dict, public/private custom backends, presigned GET/POST URLs, IAM policies, and S3 mocking for tests. Trigger terms: django-storages, S3, boto3, S3Boto3Storage, STORAGES, presigned URL, CloudFront, media files, collectstatic, AWS_STORAGE_BUCKET_NAME.

What it needs

About 4k tokens when loaded.

What this skill does

Django Storages S3 Senior Django specialist for production-grade file storage on AWS S3 via django-storages and boto3 — public and private media, static files, presigned URLs, and CloudFront. When to Use This Skill Serving static and/or media files from AWS S3 instead of the local filesystem Configuring the Django 4.2+ STORAGES dict or legacy DEFAULTFILESTORAGE Separating public (CDN-served) and private (presigned) file backends Generating presigned download or direct browser-to-S3 upload URLs Fronting S3 with CloudFront and writing a least-privilege IAM policy Migrating local FileField/ImageField storage to S3 without code changes Testing storage code without hitting S3 Core Workflow 1. Install & register — pip install django-storages[s3] boto3; add "storages" to INSTALLEDAPPS 2. Configure credentials — Load from env vars or rely on an attached IAM role; never hardcode 3. Wire the STORAGES dict — Set default (media) and staticfiles backends with separate location prefixes 4. Add named backends — Split public vs. private buckets/ACLs as additional STORAGES entries when needed 5. Verify & test — Run collectstatic, confirm uploads land in S3, and mock S3 in tests with InMemoryStorage or moto Reference Guide Load detailed guidance based on context: Topic Reference Load When ------- ----------- ----------- Settings & STORAGES references/configuration.md Core settings, 4.2+ vs legacy, CloudFront Custom backends references/custom-backends.md Public vs. private buckets, per-field storage Presigned URLs references/presigned-urls.md Download links, direct browser uploads Testing & IAM references/testing-storages.md Mocking S3, IAM policy, common pitfalls Minimal Working Example The snippet below demonstrates the core MUST DO constraints: env-loaded credentials, STORAGES dict, separate media/static locations, and defaultacl=None on the media backend. …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills jeffallan/django-storages-s3

View the source on GitHub

Browse the @skills marketplace