Django

Cara Memuat turun Fail di Django?

Cara Memuat turun Fail di Django?
Pilihan muat turun adalah syarat umum untuk mana-mana laman web seperti buku dalam talian, perisian aplikasi percuma, permainan percuma, dll. Pengguna laman web boleh memuat turun fail yang diperlukan pada peranti mereka jika ciri muat turun dilaksanakan untuk laman web ini. Fail boleh dimuat turun setelah menjalankan URL tertentu atau mengklik pautan muat turun dan mendapat izin dari pengguna. Cara memuat turun fail teks tanpa pautan muat turun dan fail PDF menggunakan pautan muat turun di aplikasi Django akan ditunjukkan dalam tutorial ini.

Prasyarat:

Sebelum mempraktikkan skrip tutorial ini, anda harus menyelesaikan tugas-tugas berikut.

  1. Pasang Django versi 3+ di Ubuntu 20+ (lebih baik)
  2. Buat projek Django
  3. Jalankan pelayan Django untuk memeriksa pelayan berfungsi dengan betul atau tidak.

Sediakan Aplikasi Django:

Jalankan arahan berikut untuk membuat aplikasi Django bernama muat turunapp. $ python3 menguruskan.py startapp muat turun

Jalankan arahan berikut untuk membuat pengguna untuk mengakses pangkalan data Django. Sekiranya anda telah membuat pengguna sebelum itu, anda tidak perlu menjalankan perintah.

$ python3 menguruskan.py createuperuser

Tambahkan nama aplikasi di DIPASANG_APP sebahagian tetapan.py fail.

INSTALLED_APPS = [

'muat turun'
]

Buat folder bernama templat di dalam muat turunapp folder dan tetapkan templat lokasi aplikasi di TEMPAT sebahagian tetapan.py fail.

TEMPLATES = [

… .
'DIRS': ['/ rumah / fahmida / django_pro / dopwnloadapp / templat'],
… .
,
]

Muat turun Fail Teks:

Ubah suai pandangan.py fail yang terdapat di dalam muat turunapp folder dengan skrip berikut. The muat turun fail() fungsi akan memuat turun fail teks bernama teks.txt untuk laluan URL tertentu. Fail telah dibuka untuk dibaca pada awal skrip. Jenis mime dan maklumat tajuk telah ditetapkan untuk memuat turun fail.

pandangan.py

# Modul mimetip import
import mimetip
# modul os import
import os
# Import modul HttpResponse
dari django.http.respon import HttpResponse
def download_file (permintaan):
# Tentukan direktori asas projek Django
BASE_DIR = os.jalan.nama panggilan (os.jalan.nama panggilan (os.jalan.abspath (__ fail__)))
# Tentukan nama fail teks
nama fail = 'ujian.txt '
# Tentukan laluan fail penuh
filepath = BASE_DIR + '/ downloadapp / Files /' + nama fail
# Buka fail untuk membaca kandungan
jalan = terbuka (jalan masuk, 'r')
# Tetapkan jenis mime
mime_type, _ = mimetip.kira_jenis (jalan masuk)
# Tetapkan nilai pulangan HttpResponse
tindak balas = HttpResponse (jalan, jenis_type = mime_type)
# Tetapkan tajuk HTTP untuk dihantar ke penyemak imbas
respons ['Content-Disposition'] = "lampiran; nama fail =% s"% nama fail
# Kembalikan nilai tindak balas
balasan balas

Sekarang, buka url.py fail dari projek Django dan kemas kini fail dengan skrip berikut. Fail teks akan dimuat turun jika jalannya, 'muat turun /' digunakan selepas URL asas.

url.py

# Modul laluan import
dari django.laluan import url
# Pandangan import
dari paparan import downloadapp
# Tetapkan jalan untuk dimuat turun
urlpatterns = [
jalan ('muat turun /', paparan.muat turun fail),
]

Buka penyemak imbas dan jalankan URL berikut yang akan membuka kotak dialog muat turun untuk pengguna.

http: // localhost: 8000 / muat turun

Fail akan dimuat turun jika pengguna mengklik okey butang setelah memilih Simpan fail pilihan.

Muat turun Fail PDF Menggunakan Templat:

Templat akan diperlukan untuk dibuat jika anda ingin menambahkan pilihan muat turun dengan pautan muat turun. Buat fail HTML bernama fail.html dengan skrip berikut untuk memaparkan pautan muat turun di penyemak imbas untuk memuat turun fail PDF. Menurut hyperlink yang digunakan dalam skrip akan memuat turun CF.pdf fail.

fail.html


Muat turun fail



Muat turun Fail menggunakan Django


Muat turun PDF


Buat fail paparan lain yang bernama pandangan2.py dengan skrip berikut. The muat turun_pdf_file () fungsi telah ditentukan dalam skrip untuk memuat turun fail menggunakan pautan muat turun. Nama fail akan diteruskan sebagai nilai argumen kedua fungsi ini. Fail telah dibuka untuk dibaca dalam mod binari untuk fail PDF. Sekiranya nilai nama fail hujah kosong, maka fail.html fail akan dipaparkan di penyemak imbas untuk menunjukkan pautan muat turun.

pandangan2.py

# Modul mimetip import
import mimetip
# modul os import
import os
# Import modul HttpResponse
dari django.http.respon import HttpResponse
# Modul rendering import
dari django.pintasan import pintasan
# Tentukan fungsi untuk memuat turun fail pdf menggunakan templat
def download_pdf_file (permintaan, nama fail = "):
sekiranya nama fail != ":
# Tentukan direktori asas projek Django
BASE_DIR = os.jalan.nama panggilan (os.jalan.nama panggilan (os.jalan.abspath (__ fail__)))
# Tentukan laluan fail penuh
filepath = BASE_DIR + '/ downloadapp / Files /' + nama fail
# Buka fail untuk membaca kandungan
jalan = terbuka (jalan masuk, 'rb')
# Tetapkan jenis mime
mime_type, _ = mimetip.kira_jenis (jalan masuk)
# Tetapkan nilai pulangan HttpResponse
tindak balas = HttpResponse (jalan, jenis_type = mime_type)
# Tetapkan tajuk HTTP untuk dihantar ke penyemak imbas
respons ['Content-Disposition'] = "lampiran; nama fail =% s"% nama fail
# Kembalikan nilai tindak balas
balasan balas
lain:
# Muatkan templat
return render (permintaan, 'fail.html ')

Kemas kini url.py fail dengan skrip berikut untuk memuat turun fail PDF tertentu menggunakan pautan muat turun.

url.py

# Modul laluan import
dari django.laluan import url
# Import pandangan dan pandangan2
dari paparan importappapp, paparan2
# Tetapkan jalan untuk dimuat turun
urlpatterns = [
jalan ('muat turun /', paparan.muat turun fail),
jalan ('downloadpdf /', paparan2.muat turun_pdf_file, name = 'download_pdf_file'),
jalan ('downloadpdf //', paparan2.muat turun_pdf_file, name = 'download_pdf_file'),
]

Buka penyemak imbas dan jalankan URL berikut yang akan memaparkan fail.html di penyemak imbas.

http: // localhost: 8000 / downloadpdf

Sekiranya pengguna mengklik pada pautan muat turun, CF.pdf akan dilalui sebagai nilai nama fail hujah.

Sekiranya fail ini ada di lokasi dasar aplikasi, maka kotak dialog berikut akan muncul. Pengguna boleh membuka fail di penyemak imbas atau pemapar dokumen sebelum memuat turun atau memuat turun fail secara langsung tanpa membukanya dengan memilih Simpan Fail pilihan dan menekan okey butang.

Kesimpulan:

Menambah pilihan muat turun untuk teks dan file PDF dalam aplikasi Django ditunjukkan dalam tutorial ini menggunakan skrip sederhana. Pengguna Django baru akan mendapat idea untuk menambah pilihan muat turun tanpa dan dengan pautan muat turun di aplikasi Django setelah membaca tutorial ini.

Alat Berguna untuk Pemain Linux
Sekiranya anda suka bermain permainan di Linux, kemungkinan anda telah menggunakan aplikasi dan utiliti seperti Wine, Lutris dan OBS Studio untuk meni...
HD Remastered Games untuk Linux yang Tidak Pernah Melancarkan Linux Sebelumnya
Banyak pembangun dan penerbit permainan hadir dengan penghapus HD permainan lama untuk memperpanjang usia francais, harap peminat meminta keserasian d...
Cara Menggunakan AutoKey untuk Mengautomasikan Permainan Linux
AutoKey adalah utiliti automasi desktop untuk Linux dan X11, yang diprogramkan dalam Python 3, GTK dan Qt. Dengan menggunakan skrip dan fungsi MACRO, ...