требуется иметь статическую папку фляги вне корня проекта

У меня есть требование хранить все статические файлы вне папки проекта. хотя я обновил конфигурацию своей фляги, как показано ниже, она все еще не сохраняет изображения в этой папке...

app = Flask(__name__, static_folder='../Storage/static', static_url_path='/storage')

но когда я пытаюсь сохранить файл с кодом ниже, он всегда сохраняет изображения внутри project_folder- > static

def save_image(image: FileStorage, folder: str = None, name: str = None) -> str:
    return IMAGE_SET.save(image, folder, name)

пример требования:

ток

project_folder/
               static/
                      images/

требуется хранить как

Storage(parallel folder)/
               static/
                     images/   

 

Пожалуйста, помогите, я пробовал по ссылкам ниже, но не помогло...

Flask не распознает статическую папку

Как сделать ссылку на изображения, которых нет в Статическая папка во фляге

Изменить статическую папку из конфигурации в Flask

Установка моего источника ‹img› к пути к файлу за пределами статической папки flask


person Praveen    schedule 09.01.2020    source источник


Ответы (1)


ниже мой тестовый код, папка '../Storage/static/images' должна быть создана перед запуском кода или использовать os.makedirs(), чтобы сделать сначала:

import sys,os
from flask import  Flask
from werkzeug.datastructures import FileStorage
file = None
fp=open('110326-666286.jpg', 'rb')
file = FileStorage(fp)

app=Flask(__name__)
app.debug=True

def save_image(image: FileStorage, folder: str = None, name: str = None) -> str:
    if not os.path.exists(folder):
        os.makedirs(folder)
    return image.save(folder+'/'+name)

@app.route('/hello/<name>/<surname>')
def hello(name,surname):
  save_image(file,'../Storage/static/images','110326-666286_.jpg')
  if os.path.exists('../Storage/static/images'+'/'+'110326-666286_.jpg'):
    res='image saved'
  else:
    res='image not saved'
  return '<h1>hello, %s %s</h1><p>%s</p>'%(name,surname,res)



if __name__=='__main__':
  app.run(host='127.0.0.1',port=8080)

ниже результат

введите здесь описание изображения

person MLKu    schedule 09.01.2020