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.

So entwickeln Sie ein Spiel unter Linux
Vor einem Jahrzehnt hätten nicht viele Linux-Benutzer vorhergesagt, dass ihr Lieblingsbetriebssystem eines Tages eine beliebte Spieleplattform für kom...
Open-Source-Ports kommerzieller Spiele-Engines
Kostenlose, quelloffene und plattformübergreifende Spiel-Engine-Nachbildungen können verwendet werden, um sowohl alte als auch einige der relativ neue...
Beste Befehlszeilenspiele für Linux
Die Befehlszeile ist nicht nur Ihr größter Verbündeter bei der Verwendung von Linux – sie kann auch eine Quelle der Unterhaltung sein, da Sie damit vi...