L’objet FileLien vers cette rubrique
Le module django.core.files et ses sous-modules contiennent les classes intégrées pour la gestion de base des fichiers dans Django.
La classe FileLien vers cette rubrique
- class File(file_object, name=None)Lien vers cette définition
La classe
Fileest une enveloppe légère autour d’un objet fichier de Python, doté de quelques ajouts spécifiques à Django. En interne, Django utilise cette classe lorsqu’il a besoin de représenter un fichier.Les objets
Filepossèdent les attributs et méthodes suivants :- nameLien vers cette définition
Le nom du fichier, comprenant le chemin relatif du réglage
MEDIA_ROOT.
- sizeLien vers cette définition
La taille du fichier en octets.
- fileLien vers cette définition
L’objet fichier que cette classe enveloppe.
- modeLien vers cette définition
Le mode lecture/écriture du fichier.
- open(mode=None)Lien vers cette définition
Ouvre ou réouvre le fichier (et réinitialise son pointeur par
File.seek(0)). Le paramètremodeautorise les mêmes valeurs que la fonction intégrée de Pythonopen().Lors de la réouverture d’un fichier,
modeécrase le mode avec lequel le fichier a été initialement ouvert ;Nonesignifie que le mode initial doit être utilisé pour la réouverture.Vous pouvez l’utiliser comme un gestionnaire de contexte, par ex.
with file.open() as f:.
- __iter__()Lien vers cette définition
Lit le fichier par itération en renvoyant les lignes une à une.
- chunks(chunk_size=None)Lien vers cette définition
Lit le fichier par itération en renvoyant des blocs (« chunks »)de la taille indiquée. La valeur par défaut de
chunk_sizeest 64 Ko.C’est particulièrement utile pour les gros fichiers car cela permet de les lire en flux à partir du disque en évitant de stocker la totalité du fichier en mémoire.
- multiple_chunks(chunk_size=None)Lien vers cette définition
Renvoie
Truesi la taille du fichier nécessite de le partitionner en plusieurs blocs pour le lire en entier, en fonction de la taillechunk_size.
- close()Lien vers cette définition
Ferme le fichier.
En plus des méthodes mentionnées,
Fileexpose les attributs et méthodes suivants de son objetfile:encoding,fileno,flush,isatty,newlines,read,readinto,readline,readlines,seek,tell,truncate,write,writelines,readable(),writable()etseekable().
La classe ContentFileLien vers cette rubrique
- class ContentFile(content, name=None)Lien vers cette définition
La classe
ContentFilehérite deFile, mais contrairement à celle-ci, elle n’agit que sur du contenu de type chaîne (octets aussi admis), plutôt que sur un vrai fichier. Par exemple :from django.core.files.base import ContentFile f1 = ContentFile("esta frase está en español") f2 = ContentFile(b"these are bytes")
La classe ImageFileLien vers cette rubrique
- class ImageFile(file_object, name=None)Lien vers cette définition
Django fournit une classe intégrée tout exprès pour les images.
django.core.files.images.ImageFilehérite de tous les attributs et méthodes deFile, et offre en plus les éléments suivants :- widthLien vers cette définition
Largeur de l’image en pixels.
- heightLien vers cette définition
Hauteur de l’image en pixels.
Méthodes supplémentaires pour les fichiers liés à des objetsLien vers cette rubrique
Tout fichier File associé à un objet (comme pour Car.photo ci-dessous) possède également quelque méthodes supplémentaires :
- File.save(name, content, save=True)Lien vers cette définition
Enregistre un nouveau fichier avec le nom de fichier et le contenu indiqués. Cela ne remplacera pas le fichier existant, mais un nouveau fichier sera créé et l’objet sera mis à jour pour pointer vers ce fichier. Si
savevautTrue, la méthodesave()du modèle sera appelée après l’enregistrement du fichier. C’est-à-dire que ces deux lignes :>>> car.photo.save("myphoto.jpg", content, save=False) >>> car.save()sont équivalentes à :
>>> car.photo.save("myphoto.jpg", content, save=True)Notez que le paramètre
contentdoit être soit une instance deFile, soit une sous-classe deFile, comme par exempleContentFile.
- File.delete(save=True)Lien vers cette définition
Enlève le fichier de l’instance de modèle et supprime le fichier concerné. Si
savevautTrue, la méthodesave()du modèle sera appelée après la suppression du fichier.