Package: django-b2
django backblaze b2 storage using b2sdk (b2sdk is official backblaze python library)DocumentationThe full documentation is athttps://django-b2.readthedocs.io.QuickstartInstall django-b2:pip install django-b2Add into your settings:MEDIA_URL='/media/'DEFAULT_FILE_STORAGE='django_b2.storage.B2Storage'# if used without django-tenant-schemas# DEFAULT_FILE_STORAGE = 'django_b2.tenant_storage.TenantB2Storage'  # if used with django-tenant-schemasB2_APP_KEY_ID=000xxxxxxxxxxxx000000000nB2_APP_KEY=keyvalueB2_BUCKET_NAME=bucketname# optional, see Usage (docs/usage.rst):B2_FORCE_UNIQUE=False# optional, see Usage (docs/usage.rst):MEDIA_ROOT=..B2_LOCAL_MEDIA=..# "", "M", "L", "ML"Using outside of Django:fromdjango_b2.backblaze_b2importBackBlazeB2b2=BackBlazeB2()b2.authorize("production",application_key_id,application_key)b2.set_bucket(bucket_name)withopen(filename,'rb')asf:b2.upload_file(filename,f)content=b2.download_file(filename)withopen(filename2,'wb')asf:f.write(content)FeaturesDjango media storage (with storage.py) or general python access to BackBlaze B2 (without usage of storage.py).Upload single file to B2 (call backblaze_b2.py as script; new in 0.2.0)Backup a postgres database to B2 (use script pgtob2.sh; new in 0.2.0)Optionally cache media files locally for immediate access or for long time faster access.Running TestsDoes the code actually work?source <YOURVIRTUALENV>/bin/activate
(myenv) $ pip install -r requirements_test.txt
(myenv) $ toxCreditsTools used in rendering this package:b2sdkcookiecuttercookiecutter-djangopackageHistory0.7.0 (2020-12-29)new Django setting B2_FORCE_UNIQUE and new underlaying constructor parameter BackBlazeB2(force_unique=True)0.6.2 (2020-11-04)B2Storage() initializes as the settings.DEFAULT_FILE_STORAGE if ‘B2Storage’ string is not inside
can be used together with @override_settings(DEFAULT_FILE_STORAGE=’django.core.files.storage.FileSystemStorage’)
seehttps://github.com/pyutil/django-b2/issues/40.6.0 (2020-05-28)lazy loading, to avoid running code during collectstatic,.. -https://github.com/pyutil/django-b2/issues/30.5.5 (2020-05-24)bugfix: upload on Windows, thx Same Weaver,https://github.com/pyutil/django-b2/issues/2Linux abs filenames: leading “/” will be removed so we can use local abs names 1:1 to upload to b2 (in Windows: C:/.. is valid name)0.5.0 (2020-02-17)can work with django-tenant schemas, tenant aware storage django_b2.tenant_storage.TenantB2Storage0.4.0 (2020-02-10)older local media (see B2_LOCAL_MEDIA) can be cleared with management command b2_clear_local_mediaB2_LOCAL_CACHE setting renamed to B2_LOCAL_MEDIA, possible values changed to =”ML”0.3.0 (2020-02-08) - do not use!! new B2_LOCAL_MEDIA setting was in 0.3.0 named incompatible as B2_LOCAL_CACHE=”FM”B2_LOCAL_MEDIA setting to make a local copy of files. So you can have local instances backuped on backblaze.B2_LOCAL_MEDIA prevents failures if the django application want immediately reopen the file (imagekits creating thumbnails, Wagtail is an example)0.2.0 (2020-01-31)backblaze_b2.py can be called as script to upload single file.pgtob2.sh script to backup postgres database0.1.5 (2020-01-02)No code change. Minor docs changes.0.1.4 (2020-01-02)First release on PyPI.