{"categories":[{"label":"Python Modules","url":"https://skillfed.io/packages/category/software-development-libraries-python-modules/22"},{"label":"WWW/HTTP","url":"https://skillfed.io/packages/category/internet-www-http/8"},{"label":"Application Frameworks","url":"https://skillfed.io/packages/category/software-development-libraries-application-frameworks/6"},{"label":"Dynamic Content","url":"https://skillfed.io/packages/category/internet-www-http-dynamic-content/4"}],"enrichment":{"capability":"Provides a Django storage backend that restricts file uploads and downloads to authenticated users, integrating with Django's model fields and admin interface.","skillfed_tags":["django-storage","file-permissions","s3-minio-support"],"use_cases":["Restrict document downloads to logged-in users in a SaaS application","Store confidential user uploads (contracts, invoices) behind authentication","Serve images or media only to staff members via the admin interface","Implement object-level access control by subclassing the provided detail view","Offload private file storage to S3 or MinIO while maintaining Django model integration"],"what_it_does":"django-private-storage adds a custom file storage backend to Django that keeps uploaded files outside the web-accessible directory and gates access through authentication. It provides model fields that work seamlessly with Django's admin and form rendering, automatically enforcing access control based on configurable permission functions. The package supports local filesystem storage by default, with optional backends for Amazon S3 and MinIO object storage; you define which users can download files via a simple auth function, and the package handles serving files through a protected view.\n\nThe module integrates directly into Django's storage API, meaning existing form widgets and admin interfaces work without modification. You configure a root directory for private files, add the app to INSTALLED_APPS, include its URL patterns, and then use the provided field types in your models just like a regular FileField. Access control is pluggable\u2014built-in options include allow_authenticated, allow_staff, and allow_superuser, or you can write a custom function that receives the request and file metadata.","worth_installing":"Yes. The package solves a common Django problem (protecting user uploads behind login) with minimal install friction, no runtime dependencies, and a stable API across modern Django versions. The aging maintenance status (313 days since last release) is acceptable for a mature, production-stable feature; no known vulnerabilities. Use it when you need to gate file access by user authentication without building custom storage logic."},"id":"django-private-storage","links":{"html":"https://skillfed.io/packages/django-private-storage","md":"https://skillfed.io/packages/django-private-storage.md","pypi":"https://pypi.org/project/django-private-storage/"},"maintenance":{"status":"aging"},"meta":{"latest_release":"2025-10-05","license_spdx":null,"license_treatment":"permissive","name":"django-private-storage","python_support":"unspecified","summary":"Private media file storage for Django projects"},"popularity":{"monthly_downloads":74202,"position":14861,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"3.1.3"}
