Előfeltételek:
Az oktatóanyag szkriptjének gyakorlása előtt el kell végeznie a következő feladatokat.
- Telepítse a Django 3+ verziót az Ubuntu 20+ verzióra (lehetőleg)
- Hozzon létre egy Django projektet
- Futtassa a Django szervert annak ellenőrzéséhez, hogy a szerver megfelelően működik-e vagy sem.
Állítson be egy Django alkalmazást:
Futtassa a következő parancsot egy Django alkalmazás létrehozásához downloadapp. $ python3 kezelni.py startapp downloadapp
Futtassa a következő parancsot a felhasználó létrehozásához a Django adatbázis eléréséhez. Ha korábban létrehozta a felhasználót, akkor nem kell futtatnia a parancsot.
$ python3 kezelni.py létrehozza a túlfelhasználótAdja hozzá az alkalmazás nevét a INSTALLED_APP része a beállítások.py fájl.
INSTALLED_APPS = […
'downloadapp'
]
Hozzon létre egy nevű mappát sablonok benne downloadapp mappát, és állítsa be a sablonok az alkalmazás helye a Sablonok része a beállítások.py fájl.
Sablonok = [… .
'DIRS': ['/ home / fahmida / django_pro / dopwnloadapp / templates'],
… .
,
]
Szöveges fájl letöltése:
Módosítsa a nézetek.py fájl, amely a downloadapp mappát a következő szkript segítségével. A fájl letöltése() függvény letölti a nevű szöveges fájlt szöveg.txt egy adott URL-útvonalhoz. A fájl a szkript elején megnyílt olvasásra. A fájl letöltéséhez beállították a mime típusát és a fejléc adatait.
nézetek.py
# Mimetypes modul importálásaimport mimetípusok
# import os modul
import os
# HttpResponse modul importálása
djangótól.http.válasz import HttpResponse
def download_file (kérés):
# Definiálja a Django projekt bázis könyvtárát
BASE_DIR = os.pálya.dirname (os.pálya.dirname (os.pálya.abspath (__ file__)))
# Definiálja a szöveges fájl nevét
fájlnév = 'teszt.txt '
# Határozza meg a teljes fájl elérési útját
filepath = BASE_DIR + '/ downloadapp / Files /' + fájlnév
# Nyissa meg a fájlt a tartalom olvasásához
elérési út = nyitott (filepath, 'r')
# Állítsa be a mime típusát
mime_type, _ = mimetypes.guess_type (filepath)
# Állítsa be a HttpResponse visszatérési értékét
response = HttpResponse (elérési út, tartalomtípus = mime_típus)
# Állítsa be a HTTP fejlécet a böngészőhöz való küldéshez
response ['Content-Disposition'] = "melléklet; fájlnév =% s"% fájlnév
# Adja vissza a válaszértéket
visszatérési válasz
Nyissa meg a URL-ek.py fájlt a Django projektből, és frissítse a fájlt a következő szkript segítségével. A szöveges fájl letölti az elérési utat, 'Letöltés/' az alap URL után kerül felhasználásra.
URL-ek.py
# Útvonal modul importálásadjangótól.URL importálási útvonal
# Nézetek importálása
a downloadapp import nézetekből
# Állítsa be a letöltés elérési útját
urlpatterns = [
elérési út ('letöltés /', nézetek.fájl letöltése),
]
Nyissa meg a böngészőt, és hajtsa végre a következő URL-t, amely megnyitja a felhasználó számára a letöltés párbeszédpanelt.
http: // localhost: 8000 / letöltés
A fájl letöltésre kerül, ha a felhasználó rákattint a rendben gomb kiválasztása után Fájl mentése választási lehetőség.
PDF fájl letöltése a sablon használatával:
Sablon létrehozásához szükség lesz, ha hozzá szeretné adni a letöltési lehetőséget a letöltési hivatkozással. Hozzon létre egy HTML nevű fájlt fájl.html az alábbi szkript segítségével jelenítse meg a letöltési linket a böngészőben egy PDF fájl letöltéséhez. A szkriptben használt hiperhivatkozás szerint a CF.pdf fájl.
fájl.html
Fájl letöltése a Django segítségével
PDF letöltése