Django

A fájl letöltése Django-ban?

A fájl letöltése Django-ban?
A letöltési lehetőség általános követelmény minden olyan weboldal esetében, mint az online könyv, az ingyenes alkalmazásszoftver, az ingyenes játékok stb. A webhely felhasználói letölthetik a szükséges fájlokat eszközükről, ha a letöltési funkció megvalósul a webhelyen. A fájl letölthető egy adott URL végrehajtása után, vagy a letöltési linkre kattintás és a felhasználó engedélyének megszerzése után. A bemutató bemutatja, hogyan lehet letölteni egy szöveges fájlt letöltési hivatkozás és egy PDF fájl nélkül a Django alkalmazás letöltési linkjével.

Előfeltételek:

Az oktatóanyag szkriptjének gyakorlása előtt el kell végeznie a következő feladatokat.

  1. Telepítse a Django 3+ verziót az Ubuntu 20+ verzióra (lehetőleg)
  2. Hozzon létre egy Django projektet
  3. 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ót

Adja 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ása
import 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ása
djangó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



Fájl letöltése a Django segítségével


PDF letöltése


Hozzon létre egy másik nevű nézetfájlt nézetek2.py a következő forgatókönyvvel. A download_pdf_file () A szkriptben meg van határozva a fájl letöltése a letöltési hivatkozás segítségével. A fájlnév a függvény második argumentumértékeként kerül továbbításra. A fájl bináris módban olvasható a PDF fájl számára. Ha az fájl név argumentum üres, akkor a fájl.html fájl megjelenik a böngészőben a letöltési link megjelenítéséhez.

nézetek2.py

# Mimetypes modul importálása
import mimetípusok
# import os modul
import os
# HttpResponse modul importálása
djangótól.http.válasz import HttpResponse
# Render modul importálása
djangótól.parancsikonok import render
# Define a pdf fájl letöltése sablon segítségével
def download_pdf_file (kérés, fájlnév = "):
ha fájlnév != ":
# 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__)))
# 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, 'rb')
# Á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
más:
# Töltse be a sablont
return render (kérés, 'fájl.html ')

Frissítse a URL-ek.py fájl a következő szkript segítségével egy adott PDF fájl letöltéséhez a letöltési hivatkozás segítségével.

URL-ek.py

# Útvonal modul importálása
djangótól.URL importálási útvonal
# Nézetek és nézetek importálása2
a downloadapp import nézeteiből, nézeteiből2
# Á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),
elérési út ('downloadpdf /', nézetek2.download_pdf_file, name = 'download_pdf_file'),
elérési út ('downloadpdf //', nézetek2.download_pdf_file, name = 'download_pdf_file'),
]

Nyissa meg a böngészőt, és hajtsa végre a következő URL-t, amely megjeleníti a fájl.html a böngészőben.

http: // localhost: 8000 / downloadpdf

Ha a felhasználó a letöltési linkre kattint, akkor a CF.pdf értékét adjuk át fájl név érv.

Ha ez a fájl az alkalmazás alaphelyén található, akkor a következő párbeszédpanel jelenik meg. A felhasználó a letöltés előtt megnyithatja a fájlt a böngészőben vagy a dokumentumnézőben, vagy közvetlenül letöltheti a fájlt a kiválasztás nélkül a Fájl mentése opciót és nyomja meg a rendben gomb.

Következtetés:

A Django alkalmazás szöveges és PDF fájlok letöltési opciójának hozzáadása ebben az oktatóanyagban egy egyszerű szkript segítségével látható. Az új Django-felhasználók ötletet kapnak a letöltési lehetőség hozzáadására letöltési link nélkül és letöltéssel a Django alkalmazásban, miután elolvassák ezt az oktatóanyagot.

Az egérkattintások emulálása az egérrel a Clickless Mouse használatával a Windows 10 rendszerben
Ha az egeret vagy a billentyűzetet nem megfelelő testtartásban, túlzott használat mellett használhatja, számos egészségügyi problémát okozhat, beleért...
Ezekkel az ingyenes eszközökkel adja hozzá az egérmozdulatokat a Windows 10 rendszerhez
Az elmúlt években a számítógépek és az operációs rendszerek nagymértékben fejlődtek. Volt idő, amikor a felhasználóknak parancsokkal kellett navigálni...
Az egér mozgásának vezérlése és kezelése több monitor között a Windows 10 rendszerben
Dual Display Mouse Manager lehetővé teszi az egér mozgásának vezérlését és konfigurálását több monitor között, lassítva annak mozgását a határ közeléb...