Django

Comment télécharger le fichier dans Django?

Comment télécharger le fichier dans Django?
L'option de téléchargement est une exigence générale pour tout site Web comme le livre en ligne, le logiciel d'application gratuit, les jeux gratuits, etc. Les utilisateurs du site peuvent télécharger les fichiers nécessaires sur leur appareil si la fonction de téléchargement est implémentée pour le site. Le fichier peut être téléchargé après avoir exécuté une URL particulière ou cliqué sur le lien de téléchargement et obtenu l'autorisation de l'utilisateur. Les manières de télécharger un fichier texte sans lien de téléchargement et un fichier PDF en utilisant le lien de téléchargement dans l'application Django seront montrées dans ce tutoriel.

Conditions préalables:

Avant de pratiquer le script de ce didacticiel, vous devez effectuer les tâches suivantes.

  1. Installez la version Django 3+ sur Ubuntu 20+ (de préférence)
  2. Créer un projet Django
  3. Exécutez le serveur Django pour vérifier que le serveur fonctionne correctement ou non.

Configurer une application Django :

Exécutez la commande suivante pour créer une application Django nommée télécharger l'application. $ python3 gérer.py startapp downloadapp

Exécutez la commande suivante pour créer l'utilisateur permettant d'accéder à la base de données Django. Si vous avez déjà créé l'utilisateur, vous n'avez pas besoin d'exécuter la commande.

$ python3 gérer.py createsuperuser

Ajoutez le nom de l'application dans le INSTALLED_APP partie de la Les paramètres.py déposer.

INSTALLED_APPS = [

'télécharger l'application'
]

Créer un dossier nommé modèles à l'intérieur de télécharger l'application dossier et définissez le des modèles emplacement de l'application dans le MODÈLES partie de la Les paramètres.py déposer.

MODÈLES = [

… .
'DIRS' : ['/home/fahmida/django_pro/dopwnloadapp/templates'],
… .
,
]

Télécharger un fichier texte :

Modifier le vues.py fichier qui se trouve à l'intérieur du télécharger l'application dossier avec le script suivant. le télécharger un fichier() fonction téléchargera un fichier texte nommé texte.SMS pour un chemin d'URL particulier. Le fichier s'est ouvert en lecture au début du script. Le type mime et les informations d'en-tête ont été définis pour télécharger le fichier.

vues.py

# Module d'importation de types MIME
importer des types MIME
# importer le module du système d'exploitation
importer le système d'exploitation
# Importer le module HttpResponse
de Django.http.importation de réponse HttpResponse
def download_file(request):
# Définir le répertoire de base du projet Django
BASE_DIR = os.chemin.dirname(os.chemin.dirname(os.chemin.abspath(__file__)))
# Définir le nom du fichier texte
nom de fichier = 'test.SMS'
# Définir le chemin complet du fichier
chemin du fichier = BASE_DIR + '/downloadapp/Files/' + nom de fichier
# Ouvrir le fichier pour lire le contenu
chemin = open(chemin du fichier, 'r')
# Définir le type de mime
type_mime, _ = types mime.deviner_type (chemin d'accès)
# Définir la valeur de retour de HttpResponse
réponse = HttpResponse(chemin, content_type=mime_type)
# Définir l'en-tête HTTP pour l'envoi au navigateur
réponse['Content-Disposition'] = "pièce jointe; nom de fichier=%s" % nom de fichier
# Renvoie la valeur de la réponse
réponse de retour

Maintenant, ouvrez le URL.py du projet Django et mettez à jour le fichier avec le script suivant. Le fichier texte sera téléchargé si le chemin, 'Télécharger/' est utilisé après l'URL de base.

URL.py

# Module de chemin d'importation
de Django.chemin d'importation des URL
# Importer des vues
à partir des vues d'importation de downloadapp
# Définir le chemin pour le téléchargement
urlpatterns = [
chemin('télécharger/', vues.télécharger un fichier),
]

Ouvrez le navigateur et exécutez l'URL suivante qui ouvrira la boîte de dialogue de téléchargement pour l'utilisateur.

http://localhost:8000/download

Le fichier sera téléchargé si l'utilisateur clique sur le d'accord bouton après avoir sélectionné le Enregistrer le fichier option.

Télécharger le fichier PDF à l'aide du modèle :

Un modèle sera nécessaire pour créer si vous souhaitez ajouter l'option de téléchargement avec le lien de téléchargement. Créez un fichier HTML nommé déposer.html avec le script suivant pour afficher le lien de téléchargement dans le navigateur pour télécharger un fichier PDF. Selon le lien hypertexte utilisé dans le script, vous téléchargerez le FC.pdf déposer.

déposer.html


Télécharger un fichier



Télécharger le fichier avec Django


Télécharger le PDF


Créez un autre fichier de vue nommé vues2.py avec le script suivant. le download_pdf_file() fonction a été définie dans le script pour télécharger un fichier en utilisant le lien de téléchargement. Le nom de fichier sera passé comme deuxième valeur d'argument de cette fonction. Le fichier s'est ouvert en lecture en mode binaire pour le fichier PDF. Si la valeur de la nom de fichier l'argument est vide, alors le déposer.html fichier sera affiché dans le navigateur pour afficher le lien de téléchargement.

vues2.py

# Module d'importation de types MIME
importer des types MIME
# importer le module du système d'exploitation
importer le système d'exploitation
# Importer le module HttpResponse
de Django.http.importation de réponse HttpResponse
# Importer le module de rendu
de Django.raccourcis import rendu
# Définir la fonction pour télécharger le fichier pdf à l'aide d'un modèle
def download_pdf_file(request, filename="):
si nom de fichier != " :
# Définir le répertoire de base du projet Django
BASE_DIR = os.chemin.dirname(os.chemin.dirname(os.chemin.abspath(__file__)))
# Définir le chemin complet du fichier
chemin du fichier = BASE_DIR + '/downloadapp/Files/' + nom de fichier
# Ouvrir le fichier pour lire le contenu
chemin = open(chemin du fichier, 'rb')
# Définir le type de mime
type_mime, _ = types mime.deviner_type (chemin d'accès)
# Définir la valeur de retour de HttpResponse
réponse = HttpResponse(chemin, content_type=mime_type)
# Définir l'en-tête HTTP pour l'envoi au navigateur
réponse['Content-Disposition'] = "pièce jointe; nom de fichier=%s" % nom de fichier
# Renvoie la valeur de la réponse
réponse de retour
autre:
# Charger le modèle
return render(requête, 'fichier.html')

Mettre à jour le URL.py fichier avec le script suivant pour télécharger un fichier PDF particulier en utilisant le lien de téléchargement.

URL.py

# Module de chemin d'importation
de Django.chemin d'importation des URL
# Importer des vues et des vues2
à partir de downloadapp importer des vues, vues2
# Définir le chemin pour le téléchargement
urlpatterns = [
chemin('télécharger/', vues.télécharger un fichier),
chemin('téléchargerpdf/', vues2.download_pdf_file, name='download_pdf_file'),
chemin('téléchargerpdf//', vues2.download_pdf_file, name='download_pdf_file'),
]

Ouvrez le navigateur et exécutez l'URL suivante qui affichera le déposer.html dans le navigateur.

http://localhost:8000/downloadpdf

Si l'utilisateur clique sur le lien de téléchargement, le FC.pdf sera passé comme valeur du nom de fichier argument.

Si ce fichier existe dans l'emplacement de base de l'application, la boîte de dialogue suivante apparaîtra. L'utilisateur peut ouvrir le fichier dans le navigateur ou la visionneuse de documents avant le téléchargement ou télécharger le fichier directement sans l'ouvrir en sélectionnant le fichier de sauvegarde option et en appuyant sur la d'accord bouton.

Conclusion:

L'ajout d'une option de téléchargement pour les fichiers texte et PDF dans l'application Django a été montré dans ce didacticiel à l'aide d'un simple script. Les nouveaux utilisateurs de Django auront l'idée d'ajouter une option de téléchargement sans et avec un lien de téléchargement dans l'application Django après avoir lu ce tutoriel.

WinMouse vous permet de personnaliser et d'améliorer le mouvement du pointeur de la souris sur un PC Windows
Si vous souhaitez améliorer les fonctions par défaut de votre pointeur de souris, utilisez un logiciel gratuit WinMouse. Il ajoute plus de fonctionnal...
Le bouton de clic gauche de la souris ne fonctionne pas sous Windows 10
Si vous utilisez une souris dédiée avec votre ordinateur portable ou de bureau mais que le le clic gauche de la souris ne fonctionne pas sur Windows 1...
Le curseur saute ou se déplace de manière aléatoire lors de la saisie dans Windows 10
Si vous constatez que le curseur de votre souris saute ou se déplace tout seul, automatiquement, au hasard lors de la saisie sur un ordinateur portabl...