Forutsetninger:
Før du trener på skriptet i denne opplæringen, må du fullføre følgende oppgaver.
- Installer Django versjon 3+ på Ubuntu 20+ (helst)
- Lag et Django-prosjekt
- Kjør Django-serveren for å kontrollere at serveren fungerer som den skal eller ikke.
Konfigurer en Django-app:
Kjør følgende kommando for å opprette en Django-app med navnet nedlastingsapp. $ python3 administrere.py startapp downloadapp
Kjør følgende kommando for å opprette brukeren for tilgang til Django-databasen. Hvis du har opprettet brukeren før da, trenger du ikke å kjøre kommandoen.
$ python3 administrere.py skaperbrukerLegg til appnavnet i INSTALLERT_APP del av innstillinger.py fil.
INSTALLED_APPS = [..
'downloadapp'
]
Opprett en mappe med navnet maler inne i nedlastingsapp mappen og still inn malens plasseringen av appen i MALER del av innstillinger.py fil.
MALER = [.. .
'DIRS': ['/ home / fahmida / django_pro / dopwnloadapp / templates'],
.. .
,
]
Last ned en tekstfil:
Endre utsikt.py filen som er inne i nedlastingsapp mappe med følgende skript. De Last ned fil() funksjonen vil laste ned en tekstfil som heter tekst.tekst for en bestemt URL-bane. Filen er åpnet for lesing i begynnelsen av skriptet. Mime-typen og topptekstinformasjonen er satt til å laste ned filen.
utsikt.py
# Importer mimetypes-modulimporter mimetyper
# import os-modul
importer os
# Importer HttpResponse-modul
fra django.http.svar import HttpResponse
def nedlastningsfil (forespørsel):
# Definer Django-prosjektbasekatalog
BASE_DIR = os.sti.dirname (os.sti.dirname (os.sti.abspath (__ fil__)))
# Definer tekstfilnavnet
filnavn = 'test.tekst'
# Definer hele filbanen
filbane = BASE_DIR + '/ downloadapp / Files /' + filnavn
# Åpne filen for å lese innhold
sti = åpen (filsti, 'r')
# Still inn mime-typen
mime_type, _ = mimetypes.gjetningstype (filbane)
# Still returverdien til HttpResponse
respons = HttpResponse (sti, content_type = mime_type)
# Sett HTTP-overskriften for sending til nettleseren
response ['Content-Disposition'] = "vedlegg; filnavn =% s"% filnavn
# Returner svarverdien
returrespons
Nå åpner du nettadresser.py fil fra Django-prosjektet, og oppdater filen med følgende skript. Tekstfilen lastes ned hvis banen, 'nedlasting/' brukes etter basis-URL.
nettadresser.py
# Importer banemodulfra django.URL-adresse for import
# Importer visninger
fra nedlastingsapp importvisninger
# Sett sti for nedlasting
urlpatterns = [
sti ('last ned /', visninger.Last ned fil),
]
Åpne nettleseren og kjør følgende URL som åpner nedlastingsdialogboksen for brukeren.
http: // localhost: 8000 / nedlasting
Filen lastes ned hvis brukeren klikker på OK etter å ha valgt Lagre filen alternativ.
Last ned PDF-fil ved hjelp av malen:
Det kreves en mal for å opprette hvis du vil legge til nedlastingsalternativet med nedlastingskoblingen. Opprett en HTML-fil med navnet fil.html med følgende skript for å vise nedlastingskoblingen i nettleseren for å laste ned en PDF-fil. I henhold til hyperkoblingen som brukes i skriptet, vil den laste ned CF.pdf fil.
fil.html
Last ned fil ved hjelp av Django
Last ned PDF