Custom Storage For UpStorage.
Project description
django-upstorage-backend
This is a custom django storage backend for UpStorage
Installation
- Install Library Using
pip
>> pip install django-upstorage-backend
Starting Guide
- Set The Custom Storage Backend. Now Open settings.py of your project.
DEFAULT_FILE_STORAGE = 'django-upstorage-backend.storages.backends.U3Storage'
- Set some required KEYS to
settings.py
AUTH_TOKEN = 'auth token from your account'
API_KEY = 'api key of your project'
USERNAME = 'username of your account'
PROJECT_NAME = 'Created Project name'
Thats it, We are all done. Now all of your files will be handeled by the custom UpStorage's Backend Storage.
Advanced Guide
-
You don't need to set 'upload_to' in model Fields (Defaultly it files will be saved on the root of your project.)
-
File Link Will Be Stored On Your Model As Expected.You Can call them as you do usally.
-
You Can also set 'upload_to='specific/folder' in your model like:
Class TestModel(model.Model): image = models.ImageField(upload_to='to/my/folder') # this will save the file to that folder.if there's no folder it will create it.
-
If you want to delete the image from the UpStorage Bucket when you delete it from django, you have to do it a bit differently.Lemme show you
Class TestModel(model.Model): image = models.ImageField() # To delete the image you have to delete that by writing: obj = TestModel.objects.get(id=pk) obj.image.delete() # You can't directly delete it like this: obj.delete() # this won't delete the file from UpStorage # You have to delete the file field first to delete it.
To make it simple you can override
delete
Method on your ModelClass TestModel(model.Model): image = models.ImageField() def delete(self): self.image.delete() super(TestModel, self).delete()
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for django-upstorage-backend-1.2.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 36372c94118aa0fff4a6878d32589b4d685bb881b24b470ab4f0c7a20e6114e2 |
|
MD5 | bdc8e55263cbc4087eb908d7315018aa |
|
BLAKE2b-256 | 840e83e3d7d80d65e7a6ae5802318e42869218a625526c8780b016fdb5bf093c |
Hashes for django_upstorage_backend-1.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1863f2e84f0b5dff50d42f3e1c2c3f57e3fda088d6e1d873f08bdb97e19b9081 |
|
MD5 | 3a5fdaeb7996e58318ed8a09eb054e3a |
|
BLAKE2b-256 | 3287978ae96233e41433f75479b53b6d6a3a52d7fec182c9a31fcdb6b41ef2e4 |