Pogoji:
Pred vadbo skripta te vaje morate opraviti naslednje naloge.
- Namestite različico Django 3+ na Ubuntu 20+ (po možnosti)
- Ustvarite projekt Django
- Zaženite strežnik Django, da preverite, ali strežnik deluje pravilno ali ne.
Nastavite aplikacijo Django:
Zaženite naslednji ukaz, da ustvarite aplikacijo Django z imenom downloadapp. $ python3 upravljanje.py startapp downloadapp
Zaženite naslednji ukaz, da ustvarite uporabnika za dostop do baze podatkov Django. Če ste uporabnika ustvarili pred tem, vam ukaza ni treba zagnati.
$ python3 upravljanje.py ustvarja uporabnikaDodajte ime aplikacije v INSTALLED_APP del nastavitve.py mapa.
INSTALLED_APPS = [..
'downloadapp'
]
Ustvarite mapo z imenom predloge znotraj downloadapp mapo in nastavite predloge lokacijo aplikacije v PREDLOGE del nastavitve.py mapa.
PREDLOGE = [.. .
'DIRS': ['/ home / fahmida / django_pro / dopwnloadapp / templates'],
.. .
,
]
Prenesite besedilno datoteko:
Spremenite pogledi.py datoteka, ki je znotraj datoteke downloadapp mapo z naslednjim skriptom. The datoteka prenosa () funkcija bo prenesla besedilno datoteko z imenom besedilo.txt za določeno pot URL-ja. Datoteka se je odprla za branje na začetku skripta. Podatki o vrsti mime in glavi so nastavljeni za prenos datoteke.
pogledi.py
# Uvozi modul mimetipovuvoz mimetipov
# uvoz os modul
uvoz os
# Uvozi modul HttpResponse
iz djanga.http.odziv uvoz HttpResponse
def download_file (zahteva):
# Določite osnovni imenik projekta Django
BASE_DIR = os.pot.dirname (os.pot.dirname (os.pot.abspath (__ datoteka__)))
# Določite ime besedilne datoteke
filename = 'test.txt '
# Določite celotno pot datoteke
filepath = BASE_DIR + '/ downloadapp / Files /' + ime datoteke
# Odprite datoteko za branje vsebine
pot = odprta (pot datoteke, 'r')
# Nastavite vrsto mime
mime_type, _ = mimetipi.ugibati_vrste (pot datoteke)
# Nastavite vrnjeno vrednost HttpResponse
response = HttpResponse (pot, vrsta vsebine = mime_type)
# Nastavite glavo HTTP za pošiljanje v brskalnik
response ['Content-Disposition'] = "priloga; ime datoteke =% s"% ime datoteke
# Vrnite vrednost odziva
povratni odgovor
Zdaj odprite URL-ji.py datoteko iz projekta Django in jo posodobite z naslednjim skriptom. Besedilna datoteka se bo prenesla, če je pot, 'Prenesi/' se uporablja za osnovnim URL-jem.
URL-ji.py
# Uvoz modula potiiz djanga.pot za uvoz URL-jev
# Uvozi poglede
iz pogledov uvoza downloadapp
# Nastavite pot za prenos
urlpatterns = [
pot ('prenos /', ogledi.prenos_datoteke),
]
Odprite brskalnik in zaženite naslednji URL, ki bo odprl pogovorno okno za prenos za uporabnika.
http: // localhost: 8000 / prenos
Datoteka bo prenesena, če uporabnik klikne na v redu po izbiri gumba Shranite datoteko možnost.
Prenesite datoteko PDF z uporabo predloge:
Če želite dodati možnost prenosa s povezavo za prenos, boste morali ustvariti predlogo. Ustvarite datoteko HTML z imenom mapa.html z naslednjim skriptom za prikaz povezave za prenos v brskalniku za prenos datoteke PDF. Glede na hiperpovezavo, ki je uporabljena v skriptu, bo prenesel datoteko CF.pdf mapa.
mapa.html
Prenesite datoteko z uporabo Django
Prenesite PDF