Django

Kā lejupielādēt failu Django?

Kā lejupielādēt failu Django?
Lejupielādes iespēja ir vispārēja prasība jebkurai vietnei, piemēram, tiešsaistes grāmatai, bezmaksas lietojumprogrammām, bezmaksas spēlēm utt. Šīs vietnes lietotāji var lejupielādēt nepieciešamos failus savā ierīcē, ja vietnei ir ieviesta lejupielādes funkcija. Failu var lejupielādēt pēc tam, kad ir izpildīts noteikts URL vai noklikšķināts uz lejupielādes saites un saņemta lietotāja atļauja. Šajā apmācībā tiks parādīti teksta faila lejupielādes veidi bez lejupielādes saites un PDF faila, izmantojot Django lietotnes lejupielādes saiti.

Priekšnosacījumi:

Pirms praktizēt šīs apmācības skriptu, jums ir jāveic šādi uzdevumi.

  1. Instalējiet Django versiju 3+ Ubuntu 20+ (vēlams)
  2. Izveidojiet Django projektu
  3. Palaidiet Django serveri, lai pārbaudītu, vai serveris darbojas pareizi.

Django lietotnes iestatīšana:

Palaidiet šo komandu, lai izveidotu Django lietotni ar nosaukumu downloadapp. $ python3 pārvaldīt.py startapp downloadapp

Palaidiet šo komandu, lai izveidotu lietotāju piekļuvei Django datu bāzei. Ja esat izveidojis lietotāju pirms tam, komanda nav jāpalaiž.

$ python3 pārvaldīt.py rada liellietotāju

Pievienojiet lietotnes nosaukumu mapē INSTALLED_APP daļa no iestatījumi.py failu.

INSTALLED_APPS = [

'downloadapp'
]

Izveidojiet mapi ar nosaukumu veidnes iekšpusē downloadapp mapi un iestatiet veidnes lietotnes atrašanās vieta Veidnes daļa no iestatījumi.py failu.

PARAUGI = [

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

Lejupielādēt teksta failu:

Mainīt skati.py fails, kas atrodas downloadapp mapi ar šādu skriptu. The download_file () funkcija lejupielādēs teksta failu ar nosaukumu tekstu.txt noteiktam URL ceļam. Fails ir atvērts lasīšanai skripta sākumā. Faila lejupielādei ir iestatīts mīmikas veids un galvenes informācija.

skati.py

# Importēt imitācijas moduli
importa mimetipi
# importēt moduli
importēt os
# Importējiet HttpResponse moduli
no django.http.atbildes importēšana HttpResponse
def download_file (pieprasījums):
# Definējiet Django projekta bāzes direktoriju
BASE_DIR = os.ceļš.dirname (os.ceļš.dirname (os.ceļš.abspath (__ file__)))
# Definējiet teksta faila nosaukumu
faila nosaukums = 'tests.txt '
# Definējiet pilnu faila ceļu
filepath = BASE_DIR + '/ downloadapp / Files /' + faila nosaukums
# Atveriet failu satura lasīšanai
ceļš = atvērts (filepath, 'r')
# Iestatiet mīmikas veidu
mime_type, _ = mimetypes.guess_type (filepath)
# Iestatiet HttpResponse atgriešanās vērtību
response = HttpResponse (ceļš, satura_tips = mime_tips)
# Iestatiet HTTP galveni nosūtīšanai uz pārlūku
response ['Content-Disposition'] = "pielikums; faila nosaukums =% s"% faila nosaukums
# Atgrieziet atbildes vērtību
atbilde uz atgriešanos

Tagad atveriet URL.py failu no Django projekta un atjauniniet failu ar šādu skriptu. Teksta fails tiks lejupielādēts, ja ceļš, 'lejupielādēt /' tiek izmantots pēc pamata URL.

URL.py

# Importēšanas ceļa modulis
no django.URL importēšanas ceļš
# Importēt skatus
no lejupielādes importēšanas skatiem
# Iestatiet lejupielādes ceļu
urlpatterns = [
ceļš ('lejupielādēt /', skati.download_file),
]

Atveriet pārlūkprogrammu un izpildiet šādu URL, kas lietotājam atvērs lejupielādes dialoglodziņu.

http: // localhost: 8000 / lejupielādēt

Fails tiks lejupielādēts, ja lietotājs noklikšķinās uz labi pēc pogas atlasīšanas Saglabāt failu opcija.

Lejupielādējiet PDF failu, izmantojot veidni:

Veidne būs jāizveido, ja vēlaties pievienot lejupielādes opciju ar lejupielādes saiti. Izveidojiet HTML failu ar nosaukumu failu.html ar šo skriptu, lai pārlūkprogrammā parādītu lejupielādes saiti, lai lejupielādētu PDF failu. Saskaņā ar hipersaiti, kas tiek izmantota skriptā, tiks lejupielādēta CF.pdf failu.

failu.html


Lejupielādēt failu



Lejupielādējiet failu, izmantojot Django


Lejupielādēt PDF


Izveidojiet citu skata failu ar nosaukumu skati2.py ar šādu skriptu. The download_pdf_file () Funkcija ir definēta skriptā, lai lejupielādētu failu, izmantojot lejupielādes saiti. Faila nosaukums tiks nodots kā šīs funkcijas otrā argumenta vērtība. Fails ir atvērts lasīšanai PDF failā binārā režīmā. Ja vērtība faila nosaukums arguments ir tukšs, tad failu.html fails tiks parādīts pārlūkprogrammā, lai parādītu lejupielādes saiti.

skati2.py

# Importēt imitācijas moduli
importa mimetipi
# importēt moduli
importēt os
# Importējiet HttpResponse moduli
no django.http.atbildes importēšana HttpResponse
# Importēt renderēšanas moduli
no django.saīsnes importēt renderēšanu
# Definējiet funkciju, lai lejupielādētu pdf failu, izmantojot veidni
def download_pdf_file (pieprasījums, faila nosaukums = "):
ja faila nosaukums != ":
# Definējiet Django projekta bāzes direktoriju
BASE_DIR = os.ceļš.dirname (os.ceļš.dirname (os.ceļš.abspath (__ file__)))
# Definējiet pilnu faila ceļu
filepath = BASE_DIR + '/ downloadapp / Files /' + faila nosaukums
# Atveriet failu satura lasīšanai
ceļš = atvērts (filepath, 'rb')
# Iestatiet mīmikas veidu
mime_type, _ = mimetypes.guess_type (filepath)
# Iestatiet HttpResponse atgriešanās vērtību
response = HttpResponse (ceļš, satura_tips = mime_tips)
# Iestatiet HTTP galveni nosūtīšanai uz pārlūku
response ['Content-Disposition'] = "pielikums; faila nosaukums =% s"% faila nosaukums
# Atgrieziet atbildes vērtību
atbilde uz atgriešanos
cits:
# Ielādējiet veidni
atgriezt renderēšanu (pieprasījums, fails.html ')

Atjauniniet URL.py failu ar šo skriptu, lai lejupielādētu konkrētu PDF failu, izmantojot lejupielādes saiti.

URL.py

# Importēšanas ceļa modulis
no django.URL importēšanas ceļš
# Skatu un skatu importēšana2
no lejupielādes importēšanas skatiem, skatiem2
# Iestatiet lejupielādes ceļu
urlpatterns = [
ceļš ('lejupielādēt /', skati.download_file),
ceļš ('downloadpdf /', views2.download_pdf_file, name = 'download_pdf_file'),
ceļš ('downloadpdf //', views2.download_pdf_file, name = 'download_pdf_file'),
]

Atveriet pārlūkprogrammu un izpildiet šādu URL, kurā tiks parādīts failu.html pārlūkprogrammā.

http: // localhost: 8000 / downloadpdf

Ja lietotājs noklikšķina uz lejupielādes saites, CF.pdf tiks nodota kā vērtība faila nosaukums arguments.

Ja šis fails pastāv lietotnes bāzes vietā, tiks parādīts šāds dialoglodziņš. Lietotājs var atvērt failu pārlūkprogrammā vai dokumentu skatītājā pirms lejupielādes vai tieši lejupielādēt failu, neatverot to, atlasot Saglabāt failu opciju un nospiežot labi pogu.

Secinājums:

Šajā apmācībā tika parādīta teksta un PDF failu lejupielādes opcijas pievienošana Django lietojumprogrammā, izmantojot vienkāršu skriptu. Jaunie Django lietotāji iegūs ideju pievienot lejupielādes opciju bez un ar lejupielādes saiti lietotnē Django pēc šīs apmācības izlasīšanas.

OpenTTD apmācība
OpenTTD ir viena no populārākajām biznesa simulācijas spēlēm. Šajā spēlē jums ir jāizveido brīnišķīgs transporta bizness. Tomēr jūs sāksit sākumā apmē...
SuperTuxKart operētājsistēmai Linux
SuperTuxKart ir lielisks nosaukums, kas paredzēts, lai sniegtu jums Mario Kart pieredzi bez maksas jūsu Linux sistēmā. Tas ir diezgan izaicinoši un ja...
Cīņa par Vesnota apmācību
Cīņa par Vesnotu ir viena no populārākajām atvērtā koda stratēģijas spēlēm, kuru jūs varat spēlēt šajā laikā. Šī spēle ir izstrādāta ne tikai ļoti ilg...