Skip to main content

Django Aliyun OSS (Object Storage Service) storage for Django 5.0+

Project description

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

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

django5_oss-1.1.1.tar.gz (9.6 kB view details)

Uploaded Source

Built Distribution

django5_oss-1.1.1-py3-none-any.whl (6.5 kB view details)

Uploaded Python 3

File details

Details for the file django5_oss-1.1.1.tar.gz.

File metadata

  • Download URL: django5_oss-1.1.1.tar.gz
  • Upload date:
  • Size: 9.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.19

File hashes

Hashes for django5_oss-1.1.1.tar.gz
Algorithm Hash digest
SHA256 e0b0611d4b8996a211d10049a12db9c7733a82981eb0e0a75b69955e25c06889
MD5 416c307007bc0806440f58b1f50a14b4
BLAKE2b-256 ef1e3157e881b7e366316e40f38375a49caba33097bec0d88501c1b27222a3eb

See more details on using hashes here.

File details

Details for the file django5_oss-1.1.1-py3-none-any.whl.

File metadata

  • Download URL: django5_oss-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 6.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.19

File hashes

Hashes for django5_oss-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 367b460d94dd02207651dfef11043489e2f4725c2711bdfbd2483e0c3190aed9
MD5 4cb6fba41c6cd4974583990588098835
BLAKE2b-256 8bb4e934235890cf5284c249d9e42508878043a95d13ec3be789b1e3a85c8b88

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page