Django - Gestion de fichiers

Table des matières
Dans les applications, nous n'allons pas toujours enregistrer des éléments spécifiques à la base de données, dans ce cas, nous nous référons à des fichiers, tels que PDF, XLS, image, etc.. Bien sûr, il y a la possibilité de sauvegarder le fichier en binaire dans la Base de données, cependant, cette pratique n'est pas adéquate, puisqu'elle génère une charge supplémentaire pour les consulter et les afficher, en plus de rendre le processus de sauvegarde difficile puisqu'elle rend un application de taille moyenne base de données atteint un poids considérable.
Pour lui gestion de fichiers Django Il a un type de champ spécial qui, en le déclarant dans le modèle, nous permet d'accéder à différentes méthodes qui faciliteront le traitement des fichiers dans notre application.
Champ FileField
Comme nous l'avons mentionné précédemment, nous avons un type spécifique de champ avec lequel Django gère les fichiers, ledit type de champ est ChampFichier, ce champ a des méthodes spécifiques pour stocker les fichiers et leur traitement, nous avons un type de champ qui hérite d'une grande partie de ses fonctionnalités de ChampFichier, c'est lui Champ Image, qui comme son nom l'indique est spécial pour le traitement des images.
Méthodes
Ci-dessous, nous décrirons de manière simple et détaillée certaines des méthodes les plus importantes dont nous disposons dans le type de domaine ChampFichier.
get_directory_name (auto)
Cette méthode renvoie simplement le chemin relatif qui sera stocké dans la base de données avec le nom du fichier, par défaut cette méthode vérifie l'attribut upload_to du champ pour déterminer le répertoire, même les sous-classes respectent ce comportement, cependant en créant une sous-classe nous pouvons déterminer comment l'attribut est utilisé
get_filename (self, nom de fichier)
Cette méthode fonctionne de manière similaire à la précédente, sauf que son focus passe du chemin au nom du fichier, ce qu'elle fait est de recevoir le nom du fichier et de le transformer de la manière dont il sera stocké dans la base de données , si nous devons effectuer une personnalisation Pour modifier le nom du fichier dans une structure spécifique ou générer une extension de fichier particulière, lors de la création d'une sous-classe, nous devons rechercher cette méthode pour effectuer la modification.
save_form_data (self, instance, data)
C'est une méthode utilitaire qui est utilisée pour les formulaires, cependant nous pouvons l'utiliser comme raccourci pour stocker les fichiers, pour cela elle accepte l'instance du modèle, en plus des informations du fichier, de cette façon la méthode extrait le informations nécessaires nécessaires pour télécharger le fichier.
delete_file (self, instance, sender)
Cette méthode permet la suppression du fichier que nous avons précédemment téléchargé, bien qu'il semble être un moyen simple de gérer cette tâche, c'est vraiment un mécanisme un peu plus complexe en raison de l'argument expéditeur que vous attendez en tant que paramètre, n'est pas destiné à être appelé individuellement.
Nous allons voir une image du fonctionnement de cette méthode pour avoir une vision plus claire de ce dont nous parlons :

Avec cela, nous terminons ce tutoriel, grâce auquel nous avons une idée plus claire de la façon dont nous pouvons gérer les fichiers dans le modèle dans Django grâce au terrain ChampFichier et ses méthodes.Avez-vous aimé et aidé ce tutoriel ?Vous pouvez récompenser l'auteur en appuyant sur ce bouton pour lui donner un point positif

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave