我是 Flask 的新手,想使用以下基本示例(使用 Flask-AutoIndex)来列出目录中的文件和文件夹:
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()
这个例子对我来说很好用,
http://localhost/folder1/folder2
正在列出 folder2 中的文件和文件夹。
我的问题是这些 url 已经绑定(bind)到其他一些函数用于其他目的,这使得 AutoIndex 无法正常工作(URL 冲突)
是否可以将 AutoIndex 绑定(bind)到包含额外单词“list”的其他 URL?就像是:
http://localhost/list/folder1/folder2/
http://localhost/list/folder1/folder2/folder3/
最佳答案
我无法测试它,但 AutoIndex 包含一个 AutoIndexBlueprint,所以我想知道您是否可以使用它来隐藏它:
# bp.py
from flask import Blueprint
from flask.ext.autoindex import AutoIndexBlueprint
auto_bp = Blueprint('auto_bp', __name__)
AutoIndexBlueprint(auto_bp, browse_root='/tmp')
然后在您的应用程序上注册它:
from bp import auto_bp
app.register_blueprint(auto_bp, url_prefix='/list')
关于python - 将 Flask AutoIndex 绑定(bind)到除 http ://localhost? 之外的其他 URL,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20199580/