Isi Konten
Artikel ini menjelaskan cara pembuatan laporan dalam bentuk csv. Pada beberapa projek,laporan merupakan hal yang wajib ada. Apalagi kalau sudah pada tahap pengolahan data dan penganalisaan data untuk keperluan dokumentasi atau membuat target.
Dalam django kita memang sangatlah bisa merepresentsikan data tersebut dalam bentuk halaman web. Tetapi ada sebagian data yang harus benar-benar diolah dan dijadikan file csv atau pdf untuk keperluan dokumentasi maupun pem-backupan data.
Pengertian Laporan
Laporan adalah suatu bentuk penyampaian berita, keterangan, pemberitahuan ataupun pertanggung jawaban baik secara lisan maupun secara tertulis dari bawahan kepada atasan. Salah satu cara pelaksanaan komunikasi dari pihak yang satu kepada pihak yang lainnya.
Bahan-bahan yang Diperlukan
Django 3.2
Console atau Command Prompt
TextEditor
Secangkir kopi atau teh atau coklat panas
Laporan dalam File CSV
CSV merupakan singkatan dari comma-separated value adalah file yang berbentuk text yang menggunakan koma untuk memisahkan nilai-nilainya. Setiap baris file biasanya adalah rekaman data.
File csv biasanya diolah kembali menggunakan excel yang merupakan pengolahan data dalam bentuk angka.
Bagaimana cara membuatnya pada django? Disini saya membuat dua cara yang mudah untuk membuatnya.
Proses Pembuatan
Pada proses ini saya menggunakan template django untuk membuat laporan ini, sebelumnya kita harus membuat project dan applikasi api yang akan kita buatkan menjadi laporan dalam bentuk csv. Setelah selesai membuatnya kita harus membuat
suatu fungsi pada file views di folder api dengan menambahkan kode berikut.
....
from django.http import HttpResponse
from django.template import loader
@method_decorator(csrf_exempt, name='dispatch')
class ShoppingCart(View):
......
def csv_report(request):
# Create the HttpResponse object with the appropriate CSV header.
data=CartItem.objects.all()
response = HttpResponse(
content_type='text/csv',
headers={'Content-Disposition': 'attachment; filename="somefilename.csv"'},
)
t = loader.get_template('template_csv.txt')
c = {'data': data}
response.write(t.render(c))
return response
fungsi csv_report akan membuat file somefile.csv dan memuat template template_csv.txt yang akan memodifikasi tampilan laporan yang dibuat.
Bila sudah selesai memodifikasi file tersebut,kita akan mengubah file urls.py dengan menambahkan kode ini untuk digunakan pada url yang akan mendownload laporannya.
path ('csvreport/',views.csv_report,name='csvreport'),
Kemudian kita buat templatenya di folder templates dengan nama file template_csv.txt dengan isi filenya
Informasi Penjualan Produk
"Nama Produk","Harga","Qty"
{% for row in data %}"{{ row.product_name|addslashes }}", {{ row.product_price|addslashes }}, {{ row.product_quantity|addslashes }}
{% endfor %}
dibuat oleh yusuf abdulloh
Jalankan server django dengan perintah
python manage.py runserver
Buka browser kamu lalu pergi ke url localhost:8000/csvreport/
maka kamu akan melihat popup untuk mendownload file yang bernama somefile.csv. Downloadlah file tersebut lalu buka dengan applikasi excel maka tampilanya akan seperti ini. File somefile.csv menampilkan data yang ada pada tabel ChartItem di database api.
Tips dan trik tambahan
#Modifikasilah namafile csvmu dengan nama yang kamu inginlan tetapi biasanya menggunakan nama sesuai tanggal laporan tersebut dibuat.
#Ganti tampilan csv file dengan mengedit file template_csv.txt pada folder templates.
Semoga berhasil
Untuk melihat Daftar Isi Pemrograman Python lainya.
Makanya sih ya kadang aku buka file CSV itu malah di microsoft excel.
BalasHapusiya.memang dibuat u mengolah data
HapusTerima kasih gan guidenya, sangat membantu
BalasHapussama-sama
Hapus