파일 export 기능 추가
1. CSV 파일 다운로드
CSV를 다운받기 위해서는 send_file 함수를 불러와야하고, 기존에 만들었던 save.py 파일안에 있는 save_to_file 함수도 불러와야한다. 일단 report.html 안에서 수정해야할 게 있다. 바로 h3 태그 밑에 링크태그를 추가하는것이다.
<h3>
You've got results for {{searchingword}}. number of the result: {{searchingrResult}}
</h3>
<a href="/export?word={{searchingword}}">Export to CSV</a>
<!-- 링크를 눌렀을때 /export 페이지로 가게 되어있음. 이제 superscrap.py에서 app.route('/export')만들어주면 됨. -->
그럼 export 페이지를 만들어보자.
from flask import send_file
from save import save_to_file
@app.route('/export')
def export():
try:
word = request.args.get('word').lower()
if not word:
raise Exception()
jobs = db.get(word)
if not jobs:
raise Exception()
save_to_file(jobs) # report 함수를 통해 db에 저장되어있던 dict 형태의 데이터를 save_to_file에 pass 한다.
return send_file("jobs.csv", as_attachment=True) # as_attachment=True 를 추가하면 "" 안에 이름 적은대로 저장됨.
except:
return redirect("/")
# word 없으면 홈으로 다시 보냄. 그리고 word, jobs 가 없으면 exception() 함수 작동. 즉, except: 로 바로 보낸다는 뜻.
# save_to_file(save.py에 있는 함수) 이랑 send_file(파일을 다운받는 함수) import 함
그럼 아래와 같이 결과가 나온다
사실 여기서 끝난게 아니다. 디자인이 다 발라먹은 생선 마냥 앙상하다. 그림도 추가하고 글자위치도 옮겨서 완성도를 더 높여야 한다. 근데 css 강의를 듣고 난 다음에 할 생각이다.
Author And Source
이 문제에 관하여(파일 export 기능 추가), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@yhko1992/파일-export-기능-추가저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)