2014-05-13 4 views
0

J'essaye de télécharger des fichiers MEDIA_FILES sur le service S3 d'Amazon. Je voudrais d'abord les télécharger à la racine de seau, puis peut-être créer des sous-dossiers avant d'enregistrer le fichier. Mon modèle de test est simpleen utilisant s3 avec django-storages et en téléchargeant des images

from django.db import models 

# Create your models here. 


class TestModel(models.Model): 
    name = models.CharField(max_length=10) 
    logo = models.ImageField(upload_to='pictures/') 

    class Meta: 
     verbose_name = ('TestModel') 
     verbose_name_plural = ('TestModels') 

    def __unicode__(self): 
     pass 

J'ai un sous-dossier nommé images déjà créé.

settigns.py

DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage' 
AWS_ACCESS_KEY_ID = 'id' 
AWS_SECRET_ACCESS_KEY = 'secret_key' 
AWS_STORAGE_BUCKET_NAME = 'mybucket' 

from S3 import CallingFormat 
AWS_CALLING_FORMAT = CallingFormat.SUBDOMAIN 

Mais lorsque je tente d'ajouter un TestModel à partir du panneau d'administration, je reçois l'erreur suivante

Request URL: http://127.0.0.1:8000/admin/testmodel/testmodel/add/ 
Django Version: 1.6.4 
Exception Type: TypeError 
Exception Value:  
'NoneType' object has no attribute '__getitem__' 

-t-s3 et django-entrepôts fonctionnent comme avant? Quelle est la valeur de MEDIA_URL à définir lors de l'utilisation de s3? Quelle est la valeur de MEDIA_ROOT à définir lors de l'utilisation de S3 et django-stockages?

Puis-je utiliser this way pour télécharger un fichier à un service S3? C'est la première fois que j'utilise un stockage en nuage, donc je suis un peu confus.

Répondre

0

si vous voulez utiliser S3, cochez la case « Boto », module python pour les SSFE, http://boto.readthedocs.org/en/latest/ et ici de MEDIA_ROOT et MEDIA_URL https://docs.djangoproject.com/en/dev/ref/settings/#media-root

+0

Je sais ce que la racine des médias est, ce que je demandais était comment le configurer jusqu'à Utilisez-le avec django-stockages et s3. Je connais les deux aussi puisque django-storages l'utilise. – Apostolos

+0

Mon mauvais, pas fait attention que vous utilisez django-stockage, j'ai utilisé tinyS3 dans mon projet. – privaloff

+0

Pas de problème, je pense que je reçois à l'aide de cette http://stackoverflow.com/a/10825691/2349589 – Apostolos

Questions connexes