Comment utiliser un backend de stockage personnalisé Django avec Google Cloud Storage?Comment utiliser django-google-cloud-storage pour GCS dans Django sur GAE
Essayer d'utiliser: ckopanos's django-google-cloud-storage
Selon la documentation, j'ai ajouté ce qui suit à mon 'settings.py':
GOOGLE_CLOUD_STORAGE_BUCKET = [my bucket name] # the name of the bucket you have created from the google cloud storage console
GOOGLE_CLOUD_STORAGE_URL = [my bucket URL] #whatever the url for accessing your cloud storgage bucket
GOOGLE_CLOUD_STORAGE_DEFAULT_CACHE_CONTROL = [cache control] # default cache control headers for your files
DEFAULT_FILE_STORAGE = 'google.storage.googleCloud.GoogleCloudStorage'
Et j'ajouté le dossier 'google'/package à mon les fichiers de projet doivent donc être accessibles pour 'settings.py'
Comment utiliser ce système de stockage personnalisé dans mes vues maintenant?
Je peux utiliser manuellement GCS en procédant comme suit (cet exemple stocke une xlsx sur GCS):
import cloudstorage as gcs
from google.appengine.api import app_identity
import xlsxwriter
import StringIO
bucket_name = os.environ.get('BUCKET_NAME',
app_identity.get_default_gcs_bucket_name())
bucket = '/' + bucket_name
filename = bucket + '/'+ userid + '/' + [some code] + '.xlsx'
gcs_file = gcs.open(filename,
'w',
content_type='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
options={'x-goog-meta-user': userid})
output = StringIO.StringIO()
workbook = xlsxwriter.Workbook(output, {'in_memory': True})
worksheet = workbook.add_worksheet()
worksheet.write(0, 0, 'Hello World')
# Close the workbook before streaming the data.
workbook.close()
# Rewind the buffer.
output.seek(0)
gcs_file.write(output.read())
gcs_file.close()
Comment importer le système de stockage pour une utilisation dans mon point de vue? Recommanderiez-vous un système de stockage différent pour Django et GCS à la place?
Recommandé par qui? Dans quel but? – jonrsharpe
Désolé, laissez-moi reformuler. Quel est le moyen le plus simple, ou le plus facile à implémenter (qui est encore maintenu), pour connecter Django avec Cloud Storage? Sans avoir besoin d'écrire mon propre système de stockage personnalisé. (Par exemple, existe-t-il un package "plug and play" que je peux utiliser et qui fonctionne avec peu de frais de développement). Le but est de: télécharger les fichiers xlsx, xls et csv de plusieurs utilisateurs vers gcs, et d'autoriser les téléchargements privés de ces mêmes fichiers (limités uniquement à l'utilisateur qui a téléchargé le fichier). – cj1689262
La recherche d'un package est explicitement hors-sujet, la plus simple étant probablement basée sur l'opinion. S'il vous plaît voir [demander]. – jonrsharpe