2010-05-16 5 views
9

Je me sens un peu stupide d'avoir à demander cela ... Mais je n'arrive pas à le trouver documenté nulle part.Django: Enregistrer un fichier téléchargé sur un FileField

Si j'ai un Model avec FileField, comment puis-je farcir un uploadés FILE dans cette FileField?

Par exemple, je voudrais faire quelque chose comme ceci:

class MyModel(Model): 
    file = FileField(...) 

def handle_post(request, ...): 
    mymodel = MyModel.objects.get(...) 
    if request.FILES.get("newfile"): 
     mymodel.file = request.FILES["newfile"] 

Mais cela ne semble pas fonctionner.

Répondre

16

Eh bien, mes soupçons ont été confirmés: Je suis un idiot :)

La méthode que je décris dans ma question est, en fait, correct - il ne fonctionnait pas parce que j'avais oublié d'inclure enctype="multipart/form-data" sur la forme.

De toute façon, je vais laisser cette question ici, juste au cas où d'autres personnes auraient le même problème.

0

J'ai aussi eu des problèmes avec le fichier pas vraiment affiché au serveur quand attribut name n'a pas été spécifié dans la balise d'entrée

<input type="file" name="somename"> 
Questions connexes