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