Django AliCloud OSS Storage
django-oss-storage provides a Django AliCloud OSS file storage.
Features
Django file storage for AliCloud OSS
Django static file storage for AliCloud OSS
Works in Python 2 & 3
Installation
Install
$ pip install django-oss-storage
Add 'django_oss_storage' to your INSTALLED_APPS setting
Set your DEFAULT_FILE_STORAGE setting to "django_oss_storage.backends.OssMediaStorage"
Set your STATICFILES_STORAGE setting to "django_oss_storage.backends.OssStaticStorage"
Configure your AliCloud OSS settings (Refer below).
Use the following settings for file storage.
STATICFILES_STORAGE = 'django_oss_storage.backends.OssStaticStorage'
DEFAULT_FILE_STORAGE = 'django_oss_storage.backends.OssMediaStorage'
Authentication settings
Use the following settings to authenticate with AliCloud OSS.
# AliCloud access key ID
OSS_ACCESS_KEY_ID = <Your Access Key ID>
# AliCloud access key secret
OSS_ACCESS_KEY_SECRET = <Your Access Key Secret>
Storage settings
For public or public-read buckets, storage urls will be bucket_name.endpoint/key format
For private buckets, storage urls will be signed url. The expires time can be set by OSS_EXPIRE_TIME as environment variable or as Django settings. The default value for OSS_EXPIRE_TIME is 30 days.
OSS_EXPIRE_TIME = <Expire Time in Seconds>
File storage settings
Use the following settings to configure AliCloud OSS file storage.
# The name of the bucket to store files in
OSS_BUCKET_NAME = <Your bucket name>
# The URL of AliCloud OSS endpoint
# Refer https://www.alibabacloud.com/help/zh/doc-detail/31837.htm for OSS Region & Endpoint
OSS_ENDPOINT = <Your access endpoint>
# The default location for your files
MEDIA_URL = '/media/'
Staticfiles storage settings
All of the file storage settings are available for the staticfiles storage.
# The default location for your static files
STATIC_URL = '/static/'
staticfiles provides command ‘collectstatic’. Run following command to collect all sub-folder ‘static’ of each app and upload to STATIC_URL.
$ python manage.py collectstatic
Testing
First set the required AccessKeyId, AccessKeySecret, endpoint and bucket information for the test through environment variables (Do not use the bucket for the production environment). Take the Linux system for example:
$ export OSS_ACCESS_KEY_ID=<AccessKeyId>
$ export OSS_ACCESS_KEY_SECRET=<AccessKeySecret>
$ export OSS_BUCKET_NAME=<bucket>
$ export OSS_ENDPOINT=<endpoint>
Support and announcements
Downloads and bug tracking can be found at the main project website.
License
MIT.
Release files for django5-oss 1.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| django5_oss-1.1.1.tar.gz | 9.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| django5_oss-1.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 16.2 kB
Release files / django5_oss-1.1.1.tar.gz
| Download URL | django5_oss-1.1.1.tar.gz |
|---|---|
| Size | 9.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e0b0611d4b8996a211d10049a12db9c7733a82981eb0e0a75b69955e25c06889
|
|
BLAKE2b-256 checksum How to use checksums |
ef1e3157e881b7e366316e40f38375a49caba33097bec0d88501c1b27222a3eb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.9.19
|
Release files / django5_oss-1.1.1-py3-none-any.whl
| Download URL | django5_oss-1.1.1-py3-none-any.whl |
|---|---|
| Size | 6.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
367b460d94dd02207651dfef11043489e2f4725c2711bdfbd2483e0c3190aed9
|
|
BLAKE2b-256 checksum How to use checksums |
8bb4e934235890cf5284c249d9e42508878043a95d13ec3be789b1e3a85c8b88
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.9.19
|