django里如何做生成文件txt,csv,pdf

时间:2021-07-12 12:27:12
在django里,定义了url之后,只要在view里添加如下代码匹配就可以了。
  1. def download_file(request):   
  2.     from django.http import HttpResponse          
  3.     ## CSV  
  4.     #import csv      
  5.     #response HttpResponse(mimetype='text/csv')  
  6.     #response['Content-Disposition'] 'attachment; filename=my.csv'  
  7.     #writer csv.writer(response)  
  8.     #writer.writerow(['First row', 'Foo', 'Bar', 'Baz'])  
  9.     #writer.writerow(['Second row', 'A', 'B', 'C', '"Testing"', "Here's quote"])  
  10.  
  11.     Text file  
  12.     #response HttpResponse(mimetype='text/plain')                                   
  13.     #response['Content-Disposition'] 'attachment; filename=my.txt'                
  14.     #response.write("aa/n")  
  15.     #response.write("bb")   
  16.      
  17.     PDF file   
  18.     #http://code.djangoproject.com/svn/django/branches/0.95-bugfixes/docs/outputting_pdf.txt  
  19.     from reportlab.pdfgen import canvas     
  20.     response HttpResponse(mimetype='application/pdf' 
  21.     response['Content-Disposition''attachment; filename=somefilename.pdf'  
  22.     canvas.Canvas(response)  
  23.     p.drawString(100, 100, "Hello world." 
  24.     p.showPage()  
  25.     p.save()  
  26.             
  27.     return response