So laden Sie die Datei in Django herunter?

So laden Sie die Datei in Django herunter?
Die Download -Option ist eine allgemeine Anforderung für jede Website wie das Online -Buch, kostenlose Anwendungssoftware, kostenlose Spiele usw. Die Benutzer der TH -Site können die erforderlichen Dateien auf ihrem Gerät herunterladen, wenn die Download -Funktion für die Website implementiert ist. Die Datei kann nach der Ausführung einer bestimmten URL oder dem Klicken auf den Download -Link heruntergeladen und die Berechtigung vom Benutzer abgerufen werden. Die Möglichkeiten zum Herunterladen einer Textdatei ohne Download -Link und einer PDF -Datei mit dem Download -Link in der Django -App werden in diesem Tutorial angezeigt.

Voraussetzungen:

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

  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 mit dem Namen zu erstellen Lade App herunter. $ python3 verwalten.PY StartApp DownloadApp

Führen Sie den folgenden Befehl aus, um den Benutzer zum 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 erzeugt

Fügen Sie den App -Namen in die hinzu Installed_app Teil der Einstellungen.py Datei.

Installed_apps = [

'Lade App herunter'
]

Erstellen Sie einen Ordner mit dem Namen Vorlagen in der Lade App herunter Ordner und setzen Sie die Vorlage Ort der App in der Vorlagen Teil der Einstellungen.py Datei.


… .
'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 dem folgenden Skript. Der Download-Datei() Die Funktion wird eine Textdatei mit dem Namen herunterladen Text.txt Für einen bestimmten URL -Pfad. Die Datei wurde zum Lesen zu Beginn des Skripts geöffnet. Die Informationen zum MIME -Typ und den Header wurden so eingestellt, dass die Datei heruntergeladen wird.

Ansichten.py

# Mimetypes -Modul importieren
Mimetypen importieren
# Betriebssystemmodul importieren
OS importieren
# HTTPResponse -Modul importieren
von django.http.Antwort import httpesponse
Def download_file (Anfrage):
# Django Project Base Directory definieren
Base_dir = os.Weg.Dirname (Betriebssystem.Weg.Dirname (Betriebssystem.Weg.Abspath (__ Datei__))))
# Definieren Sie den Text -Dateiname
Dateiname = 'Test.txt'
# Definieren Sie den vollständigen Dateipfad
filepath = base_dir + '/downloadApp/Dateien/' + Dateiname
# Öffnen Sie die Datei zum Lesen von Inhalten
Pfad = offen (filepath, 'r')
# Setzen Sie den MIME -Typ
mime_type, _ = Mimetypen.Guess_Type (Filepath)
# Legen Sie den Rückgabewert der HTTPresponse fest
response = httPresponse (Pfad, content_type = mime_type)
# Setzen Sie den HTTP -Header zum Senden an den Browser
Antwort ['Inhaltsdisposition'] = "Anhang; Dateiname = % s" % Dateiname
# Rückgabe des Antwortwerts
Rückgabeantwort

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

URLs.py

# Pfadmodul importieren
von django.URLS -Importweg
# Ansichten importieren
Aus DownloadApp -Ansichten importieren
# Pfad zum Download festlegen
urlpatterns = [
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 die klickt OK Schaltfläche nach Auswahl der Datei speichern Möglichkeit.

Laden Sie die PDF -Datei mit der Vorlage herunter:

Eine Vorlage muss erstellt werden, wenn Sie die Option Download mit dem Download -Link hinzufügen möchten. Erstellen Sie eine HTML -Datei mit dem Namen Datei.html Mit dem folgenden Skript zum Hervorlegen des Download -Links im Browser zum Herunterladen einer PDF -Datei. Nach dem Hyperlink, der im Skript verwendet wird, wird das heruntergeladen Vgl.PDF Datei.

Datei.html


Download-Datei



Laden Sie die Datei mit Django herunter


PDF Herunterladen


Erstellen Sie eine andere Ansichtsdatei mit dem Namen Ansichten2.py mit dem folgenden Skript. Der download_pdf_file () Die Funktion wurde im Skript definiert, um eine Datei mit dem 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 der Dateinamen Argument ist leer, dann die Datei.html Die Datei wird im Browser angezeigt, um den Download -Link anzuzeigen.

Ansichten2.py

# Mimetypes -Modul importieren
Mimetypen importieren
# Betriebssystemmodul importieren
OS importieren
# HTTPResponse -Modul importieren
von django.http.Antwort import httpesponse
# Rendermodul importieren
von django.Verknüpfungen importieren Render
# Funktion zum Herunterladen der PDF -Datei mit der Vorlage definieren
Def download_pdf_file (request, fileName = "):
Wenn Dateiname != ":
# Django Project Base Directory definieren
Base_dir = os.Weg.Dirname (Betriebssystem.Weg.Dirname (Betriebssystem.Weg.Abspath (__ Datei__))))
# Definieren Sie den vollständigen Dateipfad
filepath = base_dir + '/downloadApp/Dateien/' + Dateiname
# Öffnen Sie die Datei zum Lesen von Inhalten
Pfad = offen (filepath, 'rb')
# Setzen Sie den MIME -Typ
mime_type, _ = Mimetypen.Guess_Type (Filepath)
# Legen Sie den Rückgabewert der HTTPresponse fest
response = httPresponse (Pfad, content_type = mime_type)
# Setzen Sie den HTTP -Header zum Senden an den Browser
Antwort ['Inhaltsdisposition'] = "Anhang; Dateiname = % s" % Dateiname
# Rückgabe des Antwortwerts
Rückgabeantwort
anders:
# Die Vorlage laden
Rendern zurückgeben (Anfrage, 'Datei.html ')

Aktualisieren Sie die URLs.py Datei mit dem folgenden Skript zum Herunterladen einer bestimmten PDF -Datei mit dem Download -Link herunterladen.

URLs.py

# Pfadmodul importieren
von django.URLS -Importweg
# Ansichten und Ansichten importieren2
Aus DownloadApp -Importansichten, Ansichten2
# Pfad zum Download festlegen
urlpatterns = [
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, mit der die angezeigt wird Datei.html im Browser.

http: // localhost: 8000/downloadpdf

Wenn der Benutzer auf den Download -Link klickt, die Vgl.PDF wird als Wert der Dateinamen Streit.

Wenn diese Datei im Basisort der App vorhanden ist, wird das folgende Dialogfeld angezeigt. Der Benutzer kann die Datei im Browser oder im Dokumentenbieter vor dem Herunterladen der Datei direkt öffnen oder direkt herunterladen, ohne sie zu öffnen, indem Sie sie auswählen die Datei speichern Option und Drücken der OK Taste.

Abschluss:

Hinzufügen einer Download -Option für Text- und PDF -Dateien in der Django -Anwendung wurde in diesem Tutorial mit einem einfachen Skript angezeigt. Die neuen Django -Benutzer erhalten eine Idee, um eine Download -Option ohne und mit einem Download -Link in der Django -App hinzuzufügen, nachdem Sie dieses Tutorial gelesen haben.