Django

So laden Sie die Datei in Django herunter?

So laden Sie die Datei in Django herunter?
Die Download-Option ist eine allgemeine Voraussetzung für jede Website wie das Online-Buch, kostenlose Anwendungssoftware, kostenlose Spiele usw. Die Benutzer der Site können die erforderlichen Dateien auf ihr Gerät herunterladen, wenn die Download-Funktion für die Site implementiert ist. Die Datei kann heruntergeladen werden, nachdem eine bestimmte URL ausgeführt oder auf den Download-Link geklickt und die Erlaubnis des Benutzers eingeholt wurde. In diesem Tutorial wird gezeigt, wie Sie eine Textdatei ohne Download-Link und eine PDF-Datei über den Download-Link in der Django-App herunterladen können.

Voraussetzungen:

Bevor Sie das Skript dieses Tutorials üben, müssen Sie die folgenden Aufgaben ausführen.

  1. Installieren Sie die Django-Version 3+ auf Ubuntu 20+ (vorzugsweise)
  2. Erstellen Sie ein Django-Projekt
  3. Führen Sie den Django-Server aus, um zu überprüfen, ob der Server richtig funktioniert oder nicht.

Richten Sie eine Django-App ein:

Führen Sie den folgenden Befehl aus, um eine Django-App namens zu erstellen Lade App herunter. $ python3 verwalten.py startapp herunterladenapp

Führen Sie den folgenden Befehl aus, um den Benutzer für den Zugriff auf die Django-Datenbank zu erstellen. Wenn Sie den Benutzer zuvor erstellt haben, müssen Sie den Befehl nicht ausführen.

$ python3 verwalten.py erstelltsuperuser

Fügen Sie den App-Namen im . hinzu INSTALLED_APP Teil von dem die Einstellungen.py Datei.

INSTALLED_APPS = [

'Lade App herunter'
]

Erstellen Sie einen Ordner mit dem Namen Vorlagen innerhalb der Lade App herunter Ordner und legen Sie die Vorlage Standort der App im VORLAGEN Teil von dem die Einstellungen.py Datei.

VORLAGEN = [

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

Laden Sie eine Textdatei herunter:

Modifiziere den Ansichten.py Datei, die sich in der . befindet Lade App herunter Ordner mit folgendem Skript. Das Download-Datei() Funktion lädt eine Textdatei mit dem Namen Text.TXT für einen bestimmten URL-Pfad. Die Datei wurde am Anfang des Skripts zum Lesen geöffnet. Der Mime-Typ und die Header-Informationen wurden zum Herunterladen der Datei eingestellt.

Ansichten.py

# Modul mimetypes importieren
Mimetypen importieren
# OS-Modul importieren
Importieren von OS
# HttpResponse-Modul importieren
von django.http.Antwortimport HttpResponse
def download_file(Anfrage):
# Django-Projektbasisverzeichnis definieren
BASE_DIR = os.Pfad.dirname(os.Pfad.dirname(os.Pfad.Abspath(__file__)))
# Textdateinamen definieren
Dateiname = 'test.TXT'
# Definieren Sie den vollständigen Dateipfad
Dateipfad = BASE_DIR + '/downloadapp/Files/' + Dateiname
# Öffnen Sie die Datei zum Lesen von Inhalten
path = open(Dateipfad, 'r')
# Mime-Typ einstellen
mime_type, _ = mimetypes.rate_type(Dateipfad)
# Setze den Rückgabewert der HttpResponse
antwort = HttpResponse(path, content_type=mime_type)
# Setzen Sie den HTTP-Header zum Senden an den Browser
response['Content-Disposition'] = "Anhang; Dateiname=%s" % Dateiname
# Antwortwert zurückgeben
Antwort zurückgeben

Öffnen Sie nun die URLs.py Datei aus dem Django-Projekt und aktualisieren Sie die Datei mit dem folgenden Skript. Die Textdatei wird heruntergeladen, wenn der Pfad, 'herunterladen/' wird nach der Basis-URL verwendet.

URLs.py

# Pfadmodul importieren
von django.URL-Importpfad
# Ansichten importieren
aus downloadapp-importansichten
# Pfad für Download festlegen
URLmuster = [
path('download/', Ansichten.Download-Datei),
]

Öffnen Sie den Browser und führen Sie die folgende URL aus, die das Download-Dialogfeld für den Benutzer öffnet.

http://localhost:8000/download

Die Datei wird heruntergeladen, wenn der Benutzer auf das OK Schaltfläche nach Auswahl der Datei speichern Möglichkeit.

PDF-Datei mit der Vorlage herunterladen:

Eine Vorlage muss erstellt werden, wenn Sie die Download-Option mit dem Download-Link hinzufügen möchten. Erstellen Sie eine HTML-Datei mit dem Namen Datei.html mit folgendem Skript, um den Download-Link im Browser anzuzeigen, um eine PDF-Datei herunterzuladen. Gemäß dem Hyperlink, der im Skript verwendet wird, wird das heruntergeladene CF.pdf Datei.

Datei.html


Download-Datei



Datei mit Django herunterladen


PDF Herunterladen


Erstellen Sie eine weitere Ansichtsdatei mit dem Namen Aufrufe2.py mit folgendem Skript. Das download_pdf_file() Im Skript wurde eine Funktion definiert, um eine Datei über den Download-Link herunterzuladen. Der Dateiname wird als zweiter Argumentwert dieser Funktion übergeben. Die Datei wurde zum Lesen im Binärmodus für die PDF-Datei geöffnet. Wenn der Wert des Dateiname Argument leer ist, dann ist die Datei.html Datei wird im Browser angezeigt, um den Download-Link anzuzeigen.

Aufrufe2.py

# Modul mimetypes importieren
Mimetypen importieren
# OS-Modul importieren
Importieren von OS
# HttpResponse-Modul importieren
von django.http.Antwortimport HttpResponse
# Rendermodul importieren
von django.Verknüpfungen importieren rendern
# Funktion zum Herunterladen einer PDF-Datei mithilfe einer Vorlage definieren
def download_pdf_file(Anfrage, Dateiname="):
wenn Dateiname != ":
# Django-Projektbasisverzeichnis definieren
BASE_DIR = os.Pfad.dirname(os.Pfad.dirname(os.Pfad.Abspath(__file__)))
# Definieren Sie den vollständigen Dateipfad
Dateipfad = BASE_DIR + '/downloadapp/Files/' + Dateiname
# Öffnen Sie die Datei zum Lesen von Inhalten
path = open(Dateipfad, 'rb')
# Mime-Typ einstellen
mime_type, _ = mimetypes.rate_type(Dateipfad)
# Setze den Rückgabewert der HttpResponse
antwort = HttpResponse(path, content_type=mime_type)
# Setzen Sie den HTTP-Header zum Senden an den Browser
response['Content-Disposition'] = "Anhang; Dateiname=%s" % Dateiname
# Antwortwert zurückgeben
Antwort zurückgeben
sonst:
# Vorlage laden
return render(request, 'file.html')

Aktualisieren Sie die URLs.py Datei mit dem folgenden Skript, um eine bestimmte PDF-Datei über den Download-Link herunterzuladen.

URLs.py

# Pfadmodul importieren
von django.URL-Importpfad
# Ansichten und Ansichten importieren2
aus downloadapp importieren Ansichten, Ansichten2
# Pfad für Download festlegen
URLmuster = [
path('download/', Ansichten.Download-Datei),
path('downloadpdf/', views2.download_pdf_file, name='download_pdf_file'),
path('downloadpdf//', views2.download_pdf_file, name='download_pdf_file'),
]

Öffnen Sie den Browser und führen Sie die folgende URL aus, die das . anzeigt Datei.html im Browser.

http://localhost:8000/downloadpdf

Wenn der Benutzer auf den Download-Link klickt, wird die CF.pdf wird als Wert von übergeben Dateiname Streit.

Wenn diese Datei am Basisspeicherort der App vorhanden ist, wird das folgende Dialogfeld angezeigt. Der Benutzer kann die Datei vor dem Download im Browser oder Dokumentbetrachter öffnen oder die Datei direkt herunterladen, ohne sie zu öffnen, indem er die Datei speichern Option und drücken Sie die OK Taste.

Fazit:

Das Hinzufügen einer Download-Option für Text- und PDF-Dateien in der Django-Anwendung wurde in diesem Tutorial mit einem einfachen Skript gezeigt. Die neuen Django-Benutzer werden nach dem Lesen dieses Tutorials eine Idee haben, eine Download-Option ohne und mit einem Download-Link in der Django-App hinzuzufügen.

Microsoft Sculpt Touch Wireless-Maus Bewertung
Ich habe vor kurzem gelesen, dass Microsoft Sculpt Touch kabellose Maus und beschloss, sie zu kaufen. Nachdem ich es eine Weile benutzt hatte, beschlo...
AppyMouse On-Screen Trackpad und Mauszeiger für Windows Tablets
Tablet-Benutzer vermissen oft den Mauszeiger, insbesondere wenn sie die Laptops gewohnt sind. Die Touchscreen-Smartphones und -Tablets bieten viele Vo...
Mittlere Maustaste funktioniert nicht unter Windows 10
Das mittlere Maustaste hilft Ihnen beim Scrollen durch lange Webseiten und Bildschirme mit vielen Daten. Wenn das aufhört, werden Sie am Ende die Tast...