Flask: определите маршрут для изучения файлов и папок, как это делает SimpleHTTPSever

#python #http #url #flask #static-files

#python #http #url #flask #статические файлы

Вопрос:

Я создал простое приложение Flask, целью которого является создание некоторых выходных XML-файлов.

У меня правильно определены все мои прикладные маршруты, вызовы ajax и так далее. Приложение работает нормально, и я им доволен.

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

Я хотел бы добиться чего-то подобного с помощью Flask (не иметь выделенный веб-сервер, работающий на другом порту только для этой простой цели).

Я знаю, что Flask основан на BaseHTTPServer, как и SimpleHTTPServer, и я боюсь, что возможность просмотра файловой системы является частью уровня SimpleHTTPServer.

Возможно ли это? Если изначально не поддерживается, есть ли плагин Flask, который мог бы помочь?

Ответ №1:

Автоиндексация Flask делает именно то, что вы ищете:

 import os.path
from flask import Flask
from flask.ext.autoindex import AutoIndex

app = Flask(__name__)
AutoIndex(app, browse_root=os.path.curdir)

if __name__ == '__main__':
    app.run()