Simple project to copy media files (intended for fixtures loads), pretty much as Django staticfiles does
Project description
django-media-fixtures
Simple project to copy media files (intended for fixtures loads) to the file storage, pretty much as the django.contrib.staticfiles app does.
Hint: This is a fork of the original package which is no longer maintained
Changelog
1.0.1: Include PR to fix Django 4 smart_text exceptions
Dependencies
Python 3.5+
Django 1.8+
Note: The version (v1.x.x) dropped support of Python2! If you still need Python2, please check the last version of v0.1.x series
Installation
pip install django-media-fixtures==1.0.1
Then, add the django_media_fixtures app in your settings.INSTALLED_APPS:
INSTALLED_APPS = [
...,
'django.contrib.staticfiles',
'django_media_fixtures',
...
]
Usage
The app provides a management command collectmedia:
python manage.py collectmedia
This works similarly to collectstatic: finds the media_fixtures subdirectory in the apps directories, and copies those files to the settings.MEDIA_ROOT.
So, when you create your fixture (by any means, even through shell), put your file path matching the same tree folder layout as it should be in the MEDIA_ROOT destination.
For instance:
YourModel.objects.get_or_create(image="uploads/yourmodel/img/example.jpeg")
Where the file example.jpeg is found in yourappfolder/media_fixtures/uploads/yourmodel/img/example.jpeg. The collectmedia management command will copy this file to uploads/yourmodel/img/example.jpeg inside the settings.MEDIA_ROOT directory.
Configurations
- MEDIA_FIXTURE_FOLDERNAME
You can change the media fixtures folder’s name on your apps, just putting this variable on settings.py.
MEDIA_FIXTURE_FOLDERNAME='my_media_fixtures_folder'
- MEDIA_FIXTURES_FILES_FINDERS
You can change the media fixtures finders, to search media files on other folders not in-app, for instance.
MEDIA_FIXTURES_FILES_FINDERS = ( 'django_media_fixtures.finders.FileSystemFinder', # combined with MEDIA_FIXTURES_FILES_DIRS, choose specific folders 'django_media_fixtures.finders.AppDirectoriesFinder', # default (if you do not set MEDIA_FIXTURES_FILES_FINDERS) )
- MEDIA_FIXTURES_FILES_DIRS
You can list specific media folders that you want to include on search.
MEDIA_FIXTURES_FILES_DIRS = [ "/home/user/myproject/mediafiles", "/opt/webfiles/common/", ]
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for django-media-fixtures-next-1.0.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 757ee7acae8c40ea18dace583c8469e0db0c3aa124a444c69e9b476630ef1f66 |
|
MD5 | 18be170e1a0975be8f7081ac614c01bd |
|
BLAKE2b-256 | b71b27a888abd094d2ab53023d6f9626b52a2df7d552ff55bfbc626aea824f8a |