FlaskでWeb制作の勉強をしていたのですが、クライアント側からファイルをサーバー側にアップロードしようとしたところ以下のエラーに見舞われてしまいました。
AttributeError: 'function' object has no attribute 'upload_file'
一応変数名や関数名を間違えないようにコピペしていったのですが、どこに問題があるのかわかりません。何卒ご教授お願いいたします。
以下がプログラムです。同階層のupload.pyを呼び出し、中の関数upload_fileを呼び出しています。
from flask import Blueprint, render_template, request, flash from flask_login import login_required, current_user from . import upload @views.route('/upload', methods=['GET', 'POST']) def upload(): if request.method == 'POST': upload_files = request.files.getlist('upload_files') upload.upload_file(upload_files) # ここが問題のところ return render_template("upload.html", user=current_user) return render_template("upload.html", user=current_user)
以下はupload.pyです。アップロードされたファイルのなかの単語を出力したいと考えていました。
def insert(file_contents, file_name): query_list = set(query for query in file_contents.split() if not query.endswith('.html')) for query in query_list: print(query) def upload_file(upload_files): for filename in upload_files: file_contents = filename.stream.read().decode("utf-8") insert(file_contents, file_name)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/19 09:18
2021/06/19 09:19
2021/06/19 09:24
2021/06/19 09:37