Bagaimana cara melakukan export data dalam bentuk CSV pada Django Framework ?

Dalam beberapa kondisi terutama pada bagian pelaporan data, kita perlu membuat format data yang dapat di download dan di modifikasi sendiri oleh user, salah satu format yang bisa kita sediakan adalah format dalam bentuk .CSV

Secara default Django Framework telah menyediakan library export data ke bentuk .CSV, jadi kita tinggal menggunakannya saja tanpa harus melakukan instalasi library CSV. Cara menggunakanya kamu tinggal menggunakan fasilitas import, perhatikan kode di bawah ini :

import csv

Study Kasus

Kita akan melakukan export data pada table product ke dalam format CSV, perhatikan table berikut ini :
CREATE TABLE product (
	id serial NOT NULL,
	product_name varchar(255) NOT NULL,
	price int4 NULL,
	limit_user int4 NULL,
);
Buat, sebuah function untuk melakukan export data ke format .CSV, perhatikan kode dibawah ini :

 

from apps.models import Product
from datetime import datetime
import csv
 
 
def export_to_csv(request):
	now = datetime.now()
    	date_time_now = now.strftime("%m%d%Y%H:%M:%S")
	response = HttpResponse(content_type='text/csv')
    	response['Content-Disposition'] = 'attachment; 		filename="{}.csv"'.format(date_time_now)
    	prds = Product.objects.all()
    	writer = csv.writer(response)
    	writer.writerow(['Name','Price','Limit User'])
    	for prd in prds:
    		writer.writerow([prd.name,prd.price,prd.limit_user])
 
	return response
Dari kode diatas melalui variable response, kita membuat header dengan content_type = ‘text/csv’, saat function export_to_csv di panggil sistem akan mengirimkan data dalam bentuk csv.
Baca artikel lainya :