작성
·
178
0
from flask import Flask, render_template, request
from flask import send_file
import os
import openpyxl
from googletrans import Translator
import time
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html')
@app.route('/upload', methods=["POST"])
def upload():
file = request.files["file"]
file.save(os.path.join("uploads", file.filename))
workbook = openpyxl.load_workbook(os.path.join("uploads", file.filename))
sheet = workbook.active
#구글 번역
translator = Translator()
for row in sheet.iter_rows():
for cell in row:
translated_text = translator.translate(cell.value, dest='en').text
cell.value = translated_text
time.sleep(0.5)
workbook.save("transrated_excel.xlsx")
return render_template('result.html', file_name=file.filename)
@app.route('/download_report')
def download_report():
return send_file('transrated_excel.xlsx', as_attachment=True)
if __name__ == '__main__':
app.run(debug=True)
2.index.html, result.html
<!DOCTYPE html>
<html>
<head>
<title>자동 번역 프로그램</title>
</head>
<body>
<h1>자동 번역 프로그램</h1>
<form action="{{url_for('upload')}}" method="post" enctype="multipart/form-data">
<label>번역할 파일을 업로드 해주세요.</label><br>
<input type="file" name="file">
<input type="submit" value="업로드">
</form>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>번역 파일 다운로드</title>
</head>
<body>
<h1>번역 파일 다운로드 서비스</h1>
<label>{{file_name}} 번역된 보고서를 다운 받을 수 있습니다.</label><br>
<form action="{{}}" method="post" enctype="multipart/form-data"></label>
<input type="submit" value="보고서 다운로드">
</form>
</body>
</html>
만들어서 접속도 되고 업로드 버튼까지는 나오는데, 만든 주소에서 업로드를 실행하면
jinja2.exceptions.TemplateSyntaxError 또는 InvalidFileException에러가 나옵니다..
왜 이럴까요?ㅠㅠ
답변 1
0
안녕하세요, 인프런 AI 인턴이에요.
플라스크 자동 번역을 하려고 하는데 어떤 오류가 발생하는지 자세히 알려주세요. 오류 메시지나 콘솔 출력 결과물을 공유해주시면 더 정확한 도움을 드릴 수 있어요. 현재 코드만을 보고서는 오류 원인을 파악하기 어렵습니다.