Django

Ako stiahnuť súbor v Django?

Ako stiahnuť súbor v Django?
Možnosť stiahnutia je všeobecnou požiadavkou pre všetky webové stránky, ako je online kniha, bezplatný aplikačný softvér, bezplatné hry atď. Používatelia tejto stránky si môžu do svojho zariadenia stiahnuť potrebné súbory, ak je pre lokalitu implementovaná funkcia sťahovania. Súbor je možné stiahnuť po vykonaní konkrétnej adresy URL alebo kliknutí na odkaz na stiahnutie a získaní povolenia od používateľa. Spôsoby stiahnutia textového súboru bez odkazu na stiahnutie a súboru PDF pomocou odkazu na stiahnutie v aplikácii Django budú uvedené v tejto príručke.

Predpoklady:

Pred precvičením scenára tohto tutoriálu musíte splniť nasledujúce úlohy.

  1. Nainštalujte si Django verzie 3+ na Ubuntu 20+ (najlepšie)
  2. Vytvorte projekt Django
  3. Spustením servera Django skontrolujte, či server funguje správne alebo nie.

Inštalácia aplikácie Django:

Spustením nasledujúceho príkazu vytvorte aplikáciu Django s názvom downloadapp. $ python3 spravovať.py startapp downloadapp

Spustením nasledujúceho príkazu vytvorte používateľa pre prístup k databáze Django. Ak ste používateľa vytvorili už predtým, nemusíte tento príkaz spúšťať.

$ python3 spravovať.py vytvorí superužívateľa

Pridajte názov aplikácie do priečinka INSTALLED_APP časť nastavenie.py spis.

INSTALLED_APPS = [

'downloadapp'
]

Vytvorte priečinok s názvom šablóny vnútri downloadapp priečinok a nastavte šablóny umiestnenie aplikácie v ŠABLÓNY časť nastavenie.py spis.

TEMPLATES = [

… .
'DIRS': ['/ home / fahmida / django_pro / dopwnloadapp / templates'],
… .
,
]

Stiahnite si textový súbor:

Upravte názory.py súbor, ktorý je vo vnútri downloadapp priečinok s nasledujúcim skriptom. The stiahnuť súbor() funkcia stiahne textový súbor s názvom text.TXT pre konkrétnu cestu URL. Súbor sa otvoril na čítanie na začiatku skriptu. Na stiahnutie súboru boli nastavené informácie o type MIME a hlavičke.

názory.py

# Importovať modul mimetypov
importovať mimetypy
# import os modulu
import os
# Importovať modul HttpResponse
od djanga.http.import odpovedí HttpResponse
def download_file (požiadavka):
# Definujte základný adresár projektu Django
BASE_DIR = os.cesta.dirname (os.cesta.dirname (os.cesta.abspath (__ file__)))
# Definujte názov textového súboru
názov súboru = 'test.TXT'
# Definujte úplnú cestu k súboru
cesta k súboru = BASE_DIR + '/ downloadapp / Súbory /' + názov súboru
# Otvorte súbor na čítanie obsahu
cesta = otvorená (cesta k súboru, 'r')
# Nastaviť typ MIME
mime_type, _ = mimetypes.tip_typu (cesta k súboru)
# Nastavte návratovú hodnotu HttpResponse
response = HttpResponse (cesta, content_type = mime_type)
# Nastaví hlavičku HTTP pre odoslanie do prehliadača
response ['Content-Disposition'] = "príloha; názov súboru =% s"% názov súboru
# Vrátiť hodnotu odpovede
spätná odpoveď

Teraz otvorte adresy URL.py súbor z projektu Django a aktualizujte súbor nasledujúcim skriptom. Textový súbor sa stiahne, ak je cesta, 'Stiahnuť ▼/' sa používa za základnou adresou URL.

adresy URL.py

# Importovať modul cesty
od djanga.cesta importu adries URL
# Importovať zobrazenia
zo zobrazení importu downloadapp
# Nastaviť cestu na stiahnutie
urlpatterns = [
cesta ('download /', zobrazenia.stiahnuť súbor),
]

Otvorte prehliadač a vykonajte nasledujúcu adresu URL, ktorá otvorí pre používateľa dialógové okno sťahovania.

http: // localhost: 8000 / stiahnutie

Súbor sa stiahne, ak používateľ klikne na ikonu Ok po výbere tlačidla Uloženie súboru možnosť.

Stiahnite si súbor PDF pomocou šablóny:

Ak chcete pridať možnosť sťahovania pomocou odkazu na stiahnutie, bude potrebné vytvoriť šablónu. Vytvorte súbor HTML s názvom spis.html s nasledujúcim skriptom na zobrazenie odkazu na stiahnutie v prehliadači na stiahnutie súboru PDF. Podľa hypertextového odkazu, ktorý sa použije v skripte, sa stiahne CF.pdf spis.

spis.html


Stiahnuť súbor



Stiahnite si súbor pomocou Django


Stiahnite si PDF


Vytvorte ďalší súbor zobrazenia s názvom zobrazenia2.py s nasledujúcim skriptom. The download_pdf_file () v skripte bola definovaná funkcia na stiahnutie súboru pomocou odkazu na stiahnutie. Názov súboru bude odovzdaný ako druhá hodnota argumentu tejto funkcie. Súbor sa otvoril na čítanie v binárnom režime pre súbor PDF. Ak je hodnota názov súboru argument je prázdny, potom spis.html sa v prehliadači zobrazí odkaz na stiahnutie.

zobrazenia2.py

# Importovať modul mimetypov
importovať mimetypy
# import os modulu
import os
# Importovať modul HttpResponse
od djanga.http.import odpovedí HttpResponse
# Import modulu vykreslenia
od djanga.skratky importovať vykreslenie
# Definujte funkciu na stiahnutie súboru PDF pomocou šablóny
def download_pdf_file (požiadavka, názov súboru = "):
ak názov súboru != ":
# Definujte základný adresár projektu Django
BASE_DIR = os.cesta.dirname (os.cesta.dirname (os.cesta.abspath (__ file__)))
# Definujte úplnú cestu k súboru
cesta k súboru = BASE_DIR + '/ downloadapp / Súbory /' + názov súboru
# Otvorte súbor na čítanie obsahu
cesta = otvorená (cesta k súboru, 'rb')
# Nastaviť typ MIME
mime_type, _ = mimetypes.tip_typu (cesta k súboru)
# Nastavte návratovú hodnotu HttpResponse
response = HttpResponse (cesta, content_type = mime_type)
# Nastaví hlavičku HTTP pre odoslanie do prehliadača
response ['Content-Disposition'] = "príloha; názov súboru =% s"% názov súboru
# Vrátiť hodnotu odpovede
spätná odpoveď
inak:
# Vložte šablónu
vrátiť vykreslenie (požiadavka, súbor).html ')

Aktualizujte adresy URL.py súbor s nasledujúcim skriptom na stiahnutie konkrétneho súboru PDF pomocou odkazu na stiahnutie.

adresy URL.py

# Importovať modul cesty
od djanga.cesta importu adries URL
# Importujte zobrazenia a zobrazenia2
z downloadapp import pohľadov, views2
# Nastaviť cestu na stiahnutie
urlpatterns = [
cesta ('download /', zobrazenia.stiahnuť súbor),
cesta ('downloadpdf /', views2.download_pdf_file, name = 'download_pdf_file'),
cesta ('downloadpdf //', views2.download_pdf_file, name = 'download_pdf_file'),
]

Otvorte prehliadač a vykonajte nasledujúcu adresu URL, ktorá zobrazí spis.html v prehliadači.

http: // localhost: 8000 / downloadpdf

Ak používateľ klikne na odkaz na stiahnutie, CF.pdf bude odovzdaná ako hodnota názov súboru argument.

Ak tento súbor existuje v základnom umiestnení aplikácie, zobrazí sa nasledujúce dialógové okno. Používateľ môže súbor otvoriť v prehliadači alebo v prehliadači dokumentov pred stiahnutím alebo stiahnuť súbor priamo bez jeho otvorenia výberom Uložiť súbor možnosť a stlačte Ok tlačidlo.

Záver:

Pridanie možnosti sťahovania textových súborov a súborov PDF v aplikácii Django bolo v tejto príručke zobrazené pomocou jednoduchého skriptu. Noví používatelia Django dostanú po prečítaní tohto návodu nápad pridať možnosť stiahnutia bez a s odkazom na stiahnutie v aplikácii Django.

Ako zmeniť nastavenie myši a touchpadu pomocou systému Xinput v systéme Linux
Väčšina distribúcií systému Linux sa štandardne dodáva s knižnicou „libinput“ na spracovanie vstupných udalostí v systéme. Dokáže spracovať vstupné ud...
S ovládaním pomocou myši X-Mouse môžete tlačidlá myši premapovať odlišne pre iný softvér
Možno budete potrebovať nástroj, ktorý by mohol zmeniť ovládanie myši pri každej aplikácii, ktorú používate. Ak je to váš prípad, môžete vyskúšať apli...
Recenzia bezdrôtovej myši Microsoft Sculpt Touch
Nedávno som čítal o Microsoft Sculpt Touch bezdrôtová myš a rozhodol sa ju kúpiť. Po chvíli používania som sa rozhodol s ním podeliť o svoje skúsenost...