程序问答   发布时间:2022-05-31  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Flask RuntimeError:没有设置图像的目的地大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决Flask RuntimeError:没有设置图像的目的地?

开发过程中遇到Flask RuntimeError:没有设置图像的目的地的问题如何解决?下面主要结合日常开发的经验,给出你关于Flask RuntimeError:没有设置图像的目的地的解决方法建议,希望对你解决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)


config.py

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,请注明来意。
标签: