Python+Django는 로컬 파일을 브라우저에서 다운로드하고 내보내는 기능을 실현합니다(첨부: 데이터 인터페이스를 통해 데이터 저장)

8397 단어
우선 조건이 있으면 데이터 인터페이스의 데이터를 파일로 저장합니다. 예를 들어 ".csv"형식의 파일로 저장합니다. 앞에서 요청을 써서 다음과 같은 보기를 요청합니다. 먼저 데이터를 로 저장합니다.csv 파일:
import csv
def file_document(request):
	# data  json ,  data list json 
	try:
		n = len(data['list'])
		with open('123.csv', 'w') as f:   #  , 
			fieldnames = {u'PublishSource', u'template',......, u'UID'} # , 
			writer = csv.DictWriter(f, fieldnames = fieldnames)
			writer.writeheader()
			for i in range(0, n):
				writer.writerow(data['list'][i])
		return JsonResponse({'flag': flag, 'result':data}, safe = False)
	except:
		return JsonResponse({'flag': flag, 'result':'file_document_error'}, safe = False)

저장된 파일을 페이지에서 다운로드하여 내보냅니다. 이 보기를 요청하려면 a탭을 작성하십시오. url 주소는 자동으로 설정됩니다.
<a href="/rw/file_download/" id="file_download"> a>
from django.http import FileResponse
# from djangp.shortcuts import HttpResponse   FileRsponse , 
def file_download(request):
	if request.method == 'GET':
		try:
			file = open('/var/www/html/RobotWriterNew/prod/RobotWriterNew/
			manager/Dupton/src/dupton/123.csv', 'rb')
			response = FileRsponse(file)
			response['Content-Type'] = 'application/octet-stream'
			response['Content-Disposition'] = 'attachment;filename="123.csv"'
			return response
		except Exception as e:
			print(e)
			return JsonResponse({'flag':flag, 'result':'file_download_error'}, safe=False)

좋은 웹페이지 즐겨찾기