J'ai un problème lors du développement d'une API avec tastypie. Ce que je veux essentiellement c'est de savoir s'il y a un moyen de publier une image sur tastypie directement dans json.Comment télécharger un fichier/image via tastypie
Dans mes modèles, je suis en ce moment à l'aide d'un ImageField:
class MyClass(models.Model):
description = models.TextField()
user = models.ForeignKey(User)
photo = models.ImageField(upload_to="image", null=True, blank=True)
Puis dans mon fichier api:
class InquiryResource(ModelResource):
user = fields.ForeignKey(UserResource, 'user' ,full=True)
photo = fields.FileField(attribute = 'photo', null=True, blank = True)
class Meta :
queryset = MyClass.objects.all()
resource_name = "MyClass"
authorization = Authorization()
Quand je vous envoie ce JSON de base avec seulement l'utilisateur et la description qu'il fonctionne bien. Ensuite, quand je vais ajouter des informations sur mon image:
{ ... ,
photo : {
Content-Type : "image/png",
file : "base64string", <----- this one contains the file as a long string
name : "test.png"
} ...}
Je reçois un message d'erreur: objets « dict » n'a pas d'attribut « _commited »
Y at-il une « manière propre » pour télécharger un fichier nativement avec tastypie ou devrais-je utiliser Base64FileField?
Merci
Vous devez écrire une coutume 'hydrate_photo()' fonction qui prend dans votre JSON sous-document et remplit le FileField - TastyPie ne supporte pas ce que vous essayez de faire dès la sortie de la boîte. – cpf
Ok merci pour votre réponse –