Le jeudi 05 juillet 2012 12:34:21, Eric Francis a écrit :
> Salut,
> Merci pour votre aide. Je viens de résoudre le problème. La fonction
> [code] return render_to_response('myapp/index.html', {"foo": "bar"},
> mimetype="application/xhtml+xml")[/code]
> marche bien. En fait, j'avais une erreur au niveau de mon query qui ne
> retournait pas d'objets. Et du coup, mon dictionnaire était vide.
> Je souhaite maintenant que ce fichier soit directement disponible en en
> sortir téléchargéable et c'est autre chose.
> Merci pour toutes vos réponses.
> _______________________________________________
> django mailing list
> [email protected]
> http://lists.afpy.org/mailman/listinfo/django
Il faut que ta réponse renvoi un header précisant que c'est obligatoirement un
fichier à télécharger et non un contenu à afficher, donc modifier ta ligne de
code
:
response = render_to_response('myapp/index.html', {"foo": "bar"},
mimetype="application/xml")
response['Content-Disposition'] = 'attachment; filename=monfichier.xml'
return response
Tu récupères le "HttpResponse" retourné par render_to_response, et tu lui
ajoute l'attribut 'Content-Disposition' (le fameux header de ta réponse), puis
tu retournes ta réponse modifiée.
J'ai modifié le mimetype, parce qu'en théorie le xhtml/xml pour du simple XML
c'est inutile et d'après le XML que tu a donné en exemple, je n'en vois pas de
nécessité.
Note aussi qu'en général on préfère rédiger une sortie XML avec une lib XML
qui t'évitera de générer du XML incorrect et renvoyer le contenu directement
vers un HttpResponse sans utiliser de templates.
--
Cordialement,
David THENON - Sveetch.Biz
_______________________________________________
django mailing list
[email protected]
http://lists.afpy.org/mailman/listinfo/django