Django storage for SoftLayer Cloud Storage
Project description
Django storage for SoftLayer Cloud Storage
This package uses django-cumulus (https://pypi.python.org/pypi/django-cumulus) and softlayer-object-storage-python (https://pypi.python.org/pypi/softlayer-object-storage).
Link to github repository: https://github.com/Arpaso/django-softlayer
Settings
Add the following to your project’s settings.py (your SoftLayer credentials):
CUMULUS = { 'USERNAME': 'YourUsername', # your SoftLayer user name 'API_KEY': 'YourAPIKey', # SoftLayer api key 'CONTAINER': 'ContainerName' # SoftLayer container(folder) name 'NETWORK': 'private', # Paid 'private' or free 'public' network is available } CLOUD_FILE_STORAGE = 'django_softlayer.SoftLayerStorage' INSTALLED_APPS = [ ... 'django_softlayer', ... ]
Usage
To use this storage:
import storage class, and create your own storage.py:
from django_softlayer import SoftLayerStorage from django.utils.functional import LazyObject from django.conf import settings class MyStorage(LazyObject): def _setup(self): self._wrapped = get_storage_class(settings.CLOUD_FILE_STORAGE)()
Then you can use it in models.py:
from storage import MyStorage class MyModel(Model): file = models.FileField(storage=MyStorage())
That’s all.
To upload files to storage from folder, check for the command usage:
./manage.py syncstatic --help
Testing
To run tests:
./manage.py test django_softlayer
Management commands
syncstatic
Uploads directories to the cloud storage saving directory structure:
python manage.py syncstatic
Options
–mediaroot - A source directory to copy files from, e.g. “/home/djangoprojects/myproject/media”. Defaults to settings.MEDIA_ROOT.
–noreplace - Skip and do not replace existing files in the storage. Default is False.
–mask - A file mask, e.g. *.ext. Defaults to: *.mp3
-v - higher verbosity is available
get_missing_files
Prints information to console about empty or non existing files present in database but not at cloud files storage:
python manage.py get_missing_files
Options
–app_model_field - String containing dot separated app, model and field name. Example: myapp.User.file
NOTE: this options can be defaulted to CMD_MISSING_FILES_SETTINGS variable in settings.py:
CMD_MISSING_FILES_SETTINGS = ( 'app.model.filefield', 'nextapp.nextmodel.nextfile' )
When CMD_MISSING_FILES_SETTINGS variable is in settings.py, you can search a set of app.model.field to search for empty files.
When using –app_model_field option, you can only specify one app.model.field per command.
Written by the development team of Arpaso company: http://arpaso.com
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
File details
Details for the file django-softlayer-0.2.tar.gz
.
File metadata
- Download URL: django-softlayer-0.2.tar.gz
- Upload date:
- Size: 1.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 961892f3f9cad209e8eca16d448ef578f822cdc6696b1867d720f8e6e2d31ff7 |
|
MD5 | c477f1c362a6a5c8542e55f4f33e15f7 |
|
BLAKE2b-256 | 98a8c02d988e7e2196c36a4e5142760eaba57d6ddc90d230fefb6928ad36f4a7 |