San*_*eau 24 python flask flask-sqlalchemy flask-uploads python-3.6
我想创建一个表单,允许使用烧瓶表单发送带有描述的图片。我尝试使用此视频: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'
Run Code Online (Sandbox Code Playgroud)
我不得不替换为
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'
Run Code Online (Sandbox Code Playgroud)
我的导入和配置如下所示:
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
Run Code Online (Sandbox Code Playgroud)
我无法解决这个问题,你知道我该怎么办吗?
小智 84
在 flask_uploads.py
改变
from werkzeug import secure_filename,FileStorage
Run Code Online (Sandbox Code Playgroud)
到
from werkzeug.utils import secure_filename
from werkzeug.datastructures import FileStorage
Run Code Online (Sandbox Code Playgroud)
Dan*_*vtz 28
根据这个问题,这是一个与workzeug当前版本1.0.0相关的错误。它已合并但尚未在 pypi 中发布。直到现在知道的解决方法是从降级werkzeug=1.0.0到werkzeug==0.16.0
为此,您只需要运行以下命令:
pip install -U Werkzeug==0.16.0
Run Code Online (Sandbox Code Playgroud)
查看来自 werkzeug 的发行说明有一个版本0.16.1,但在错误报告中没有证据表明使用该版本可能有任何帮助。
J.G*_*.G. 14
您正在使用损坏的Flask-Uploads.
不幸的是,包的维护者决定不向 PyPi 发布包的新版本。
您可以将其Flask-Reuploaded用作替代品,从而解决您的问题。
https://pypi.org/project/Flask-Reuploaded/