0
from flask import Flask
from flask.ext.uploads import UploadSet, configure_uploads, IMAGES

app = Flask(__name__)

app.config['UPLOADED_PHOTOS_DEST'] = '/home/kevin'
photos = UploadSet('photos', IMAGES)

configure_uploads(app, (photos,))

以上是我的代码,但是它给了我以下错误:

Traceback (most recent call last):
  File "./main.py", line 10, in <module>
    configure_uploads(app, (photos,))
  File "/usr/lib/python3.5/site-packages/flaskext/uploads.py", line 197, in configure_uploads
    should_serve = any(s.base_url is None for s in set_config.itervalues())
AttributeError: 'dict' object has no attribute 'itervalues'

我正在使用Flask 0.10.1Flask-Uploads 0.1.3,我的代码的哪一部分不正确?

4

2 回答 2

1

dict.itervalues()仅在 python2.x 中,我猜烧瓶上传还不支持 3.x,setup.py也没有说它们支持 3.x

于 2015-11-21T07:25:06.037 回答
1

正如您所注意到的,Flask-Uploads 0.1.3 不支持 Python 3,因为它调用了dict.itervalues().

我最近接任了 Flask-Uploads 项目的维护者,并接受了一个 PR 来修复这个提交中的问题。

包含此修复的 0.2.0 版本尚未推送到 Pypi,但在此之前,您可以直接从 GitHub 安装 Python 3 兼容版本:

pip install git+https://git@github.com/jeffwidman/flask-uploads.git

如果您遇到任何问题,问题跟踪器在这里:https ://github.com/jeffwidman/flask-uploads/issues

于 2015-12-15T10:04:46.800 回答