web-dev-qa-db-ja.com

フラスコ_アップロード:インポートエラー:名前「secure_filename」をインポートできません

flaskフォームを使用して、説明付きの写真を送信できるフォームを作成します。このビデオを使用しようとしました: https://www.youtube.com/watch ?v = Exf8RbgKmhM

app.pyを起動するときに問題が発生しました:

➜  website git:(master) ✗ python3.6 app.py
Traceback (most recent call last):
  File "app.py", line 10, in <module>
    from flask.ext.uploads import UploadSet, configure_uploads, IMAGES
ModuleNotFoundError: No module named 'flask.ext'

交換する必要がありましたflask.ext.uploads 沿って flask_uploadsしかし、今私は得る:

Traceback (most recent call last):
  File "app.py", line 10, in <module>
    from flask_uploads import UploadSet, configure_uploads, IMAGES
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/flask_uploads.py", line 26, in <module>
    from werkzeug import secure_filename, FileStorage
ImportError: cannot import name 'secure_filename'

私のインポートと設定は次のようになります:

from datetime import datetime
from flask_sqlalchemy import SQLAlchemy
from flask import Flask, session, render_template, url_for, redirect, flash, request
from wtforms import Form, fields,TextField, StringField, PasswordField, BooleanField,validators
from wtforms.validators import InputRequired, Email, Length, DataRequired
from flask_wtf import FlaskForm
from flask_uploads import UploadSet, configure_uploads, IMAGES
from flask_login import LoginManager, UserMixin, login_user, login_required, logout_user, current_user

この問題を解決できませんでした。どうすればよいでしょうか。

4
Santeau

Flask-Uploadsの壊れたバージョンを使用しています。

残念ながら、パッケージのメンテナは、パッケージの新しいバージョンをPyPiにリリースしないことを決定しました。

Flask-Reuploadedをドロップイン置換として使用して、問題を修正できます。

https://pypi.org/project/Flask-Reuploaded/

1
J.G.

私はフラスコアップロードで問題を解決できませんでしたが、このビデオに従って、私がやりたいことをすることができました: https://www.youtube.com/watch?v=6WruncSoCdI

0
Santeau