大佬教程收集整理的这篇文章主要介绍了Flask RuntimeError:没有设置图像的目的地,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我在运行flask应用程序时遇到以下错误,并且在我将应用程序从window迁移到linux后开始出现这个问题,在windows 10上flask工作正常。我已经安装了所有依赖项,但在我看来存在一些配置错误,因此请提供建议。
以下是错误信息。
运行时错误:设置图像没有目的地 回溯(最近一次调用最后一次)
file "/root/app/shop-blog-app/__init__.py",line 61,in <module>
configure_uploads(app,images)
file "/usr/local/lib/python3.7/dist-packages/flask_uploads.py",line 217,in configure_uploads
config = config_for_set(uset,app,defaults)
file "/usr/local/lib/python3.7/dist-packages/flask_uploads.py",line 185,in config_for_set
raise RuntimeError("no desTination for set %s" % uset.Name)
RuntimeError: no desTination for set images
==================
/usr/local/lib/python3.7/dist-packages/flask_sqlalchemy/__init__.py:835: FSADeprecationWarning: sqlALCHEMY_TRACK_MODIFICATIONS adds significant overhead and will be Disabled by default in the future. Set it to True or false to suppress this warning.
'sqlALCHEMY_TRACK_MODIFICATIONS adds significant overhead and '
127.0.0.1 - - [14/Jan/2021 16:18:16] "GET / http/1.1" 500 -
TraceBACk (most recent call last):
file "/root/app/shop-blog-app/__init__.py",in <module>
configure_uploads(app,images)
file "/usr/local/lib/python3.7/dist-packages/flask_uploads.py",in configure_uploads
config = config_for_set(uset,defaults)
file "/usr/local/lib/python3.7/dist-packages/flask_uploads.py",in config_for_set
raise RuntimeError("no desTination for set %s" % uset.Name)
import os
basedir = os.path.abspath(os.path.dirname(__file__))
#top_LEVEL_DIR = os.path.abspath(os.curdir)
top_LEVEL_DIR = os.path.join()
print(top_LEVEL_DIR)
class Config(object):
SECRET_KEY = 'test'
#sqlALCHEmy_database_URI = 'sqlite:///' + os.path.join(basedir,'app.db')
sqlALCHEmy_database_URI = 'MysqL://root:redhat@localhost:3306/flaskdb'
#sqlALCHEMY_ECHO = True
sqlALCHEMY_TRACK_MODIFICATIONS = false
UPLOADED_PHOTO_DEST = os.path.dirname(os.path.abspath(__file__))
UPLOADED_PHOTO_ALLOW = 'IMAGES'
UPLOADS_DEFAulT_DEST = os.getcwd()
UPLOADS_DEFAulT_URL = 'http://localhost:9419/static/img/'
UPLOADED_IMAGES_DEST = os.getcwd()
UPLOADED_IMAGES_URL = 'http://localhost:9419/static/img/'
app/init.py
from app import app
from flask import Flask
from flask_deBUG import DeBUG
from config import Config
from flask_sqlalchemy import sqlAlchemy
from flask_migrate import Migrate
from flask_login import LoginManager,Usermixin,login_required,login_user,logout_user
#from flask.ext.login import LoginManager
from flask_uploads import UploadSet,IMAGES,configure_uploads
#from flask_session import Session
from flask_kvsession import KVSessionExtension
from simplekv.memory.redisstore import redisStore
import redis
from flask_mail import Mail,message
from flask import Flask,Jsonify,request
from flask_restful import resource,API
from flask_sqlalchemy import sqlAlchemy
from flask_marshmallow import Marshmallow
from celery import Celery
store = redisStore(redis.Strictredis())
app = Flask(__name__)
app.config.from_object(Config)
app.config['sqlALCHEmy_database_URI']='MysqL://root:redhat@192.168.56.107:3306/flaskdb'
app.config['UPLOADS_DEFAulT_DEST'] = 'app/static/img/'
#app.config['UPLOADED_PHOTO_DEST'] = './app/static/img/'
db = sqlAlchemy(app)
migrate = Migrate(app,db)
login = LoginManager(app)
mail= Mail(app)
app.config['MAIL_SERVER']='smtp.gmail.com'
app.config['MAIL_PORT'] = 465
app.config['MAIL_USE_TLS'] = false
app.config['MAIL_USE_SSL'] = True
mail = Mail(app)
API = API(app)
ma = Marshmallow(app)
#########
## Celery
app.config['CELERY_broKER_URL'] = 'redis://localhost:6379/0'
app.config['CELERY_RESulT_BACKEND'] = 'redis://localhost:6379/0'
celery = Celery(app.name,broker=app.config['CELERY_broKER_URL'])
celery.conf.update(app.config)
# #from flask.ext.restless import apimanager
# from flask import Flask
# from flask.ext.restless import apimanager
# from flask.ext.sqlalchemy import sqlAlchemy
#
# #import flask.ext.restless
# manager = flask.ext.restless.apimanager(app,flask_sqlalchemy_db=db)
login.login_vIEw = 'login'
#sess = Session()
#sess.init_app(app)
#KVSessionExtension(store,app)
# Configure the image uploading via Flask-Uploads
#app.config['UPLOADED_PHOTOS_DEST'] = '/var/uploads'
#app.config['UPLOADED_documentS_DEST'] = './app//static/img'
#print os.getcwd()
images = UploadSet('images',IMAGES)
configure_uploads(app,images)
DeBUG(app)
if __name__ == '__main__':
app.run(host='0.0.0.0',port=9419,deBUG=TruE)
# app.run(deBUG=TruE)
from app import routes,models
错误消息明确指出您尚未配置上传目标。
你可以看看这个错误是如何发生的源代码。
https://github.com/jugmac00/flask-reuploaded/blob/80654e1c9909025c894cddff940cccfbe9c042d7/src/flask_uploads/flask_uploads.py#L73-L84
当我从上面看你的代码时......你定义了一个配置类,但你没有使用它,你还配置了许多与 Flask-Uploads
相关的选项,但你把它们注释掉了
=> Flask-Uploads,尤其是未配置目的地
以上是大佬教程为你收集整理的Flask RuntimeError:没有设置图像的目的地全部内容,希望文章能够帮你解决Flask RuntimeError:没有设置图像的目的地所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。