Django CSV 파일 생성

2803 단어 공부 노트
Django는 보기 함수에서 csv 파일을 직접 생성하여 브라우저에 응답
import csv
from django.http import HttpResponse
from .models import Book

def make_csv_view(request):
    response = HttpResponse(content_type='text/csv')
    response['Content-Disposition'] = 'attachment; filename="mybook.csv"'
	all_book = Book.objects.all()
    writer = csv.writer(response)
    writer.writerow(['id', 'title'])
    for b in all_book:    
    	writer.writerow([b.id, b.title])

    return response
  • 응답은 특수한 MIME 형식text / csv을 얻었습니다.이것은 브라우저에 이 문서가 HTML 파일이 아닌 CSV 파일임을 알려 줍니다.
  • 응답은 CSV 파일의 이름을 포함하는 추가 Content-Disposition 헤더를 받습니다.다른 이름으로 저장 대화 상자에서 브라우저에 사용됩니다
  • .
  • CSV 파일의 줄마다 writer.writerow를 호출하여 목록이나 모듈 같은 교체 가능한 대상을 전달한다.
  • 좋은 웹페이지 즐겨찾기