Skip to main content

Django file storage backend for Google Cloud Storage

Project description

Based on Google Cloud Storage JSON API.

Written using Google Cloud Python Client library.

Quick start

$ pip install django-gcs

Update settings.py

DJANGO_GCS = {
    'bucket': 'bucket-name',
    'http': get_http_credentials
}

Settings

DJANGO_GCS = {
    'bucket': None,
    'project': '',
    'credentials': None,
    'http': None,
    'cache_control': ['no-cache']
}
  • bucket name of the bucket on google cloud storage.

  • project google project name (not required).

  • credentials oauth2 credentials

  • http httplib2.Http instance or callable that returns httplib2.Http instance

  • cache_control is a list of strings. By default [‘no-cache’]

Note: One of credentials or http should be provided for authentication.

Usage

Set storage globally:

DEFAULT_FILE_STORAGE = 'django_gcs.GoogleCloudStorage'

Or per model:

from django_gcs import GoogleCloudStorage

class FileModel(models.Model):
    file = models.ImageField(storage=GoogleCloudStorage(bucket='some-bucket'))

Example how to generate HTTP object to make request.

import pickle
import httplib2

def get_http_credentials():
    with open('google/oauth2/credentials/file', 'r') as f:
        credentials = pickle.load(f)
        http_credentials = credentials.authorize(httplib2.Http())
    return http_credentials

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

django-gcs-0.1.1.tar.gz (2.8 kB view hashes)

Uploaded Source

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