0

我正在使用 Flask 提供静态文件夹:

from flask import Flask, send_from_directory
from flask_httpauth import HTTPBasicAuth

app = Flask(__name__,
            static_url_path='',
            static_folder='html_files')
...

@app.route('/')
@auth.login_required
def send_html_files():
    return send_from_directory('html_files', 'main.html')

我使用了Flask-HTTPAuth 文档中的第一个示例,以便为我的网站添加基本身份验证。对我来说,只需一个普通的用户名和密码就足够了。

问题是当用户直接访问 http://localhost:5000/a/b/c 时没有显示身份验证对话框(它适用于 http://localhost:5000/)

这样做的正确方法是什么?另一方面,又快又脏的方法是什么?

4

1 回答 1

1

@app.route('/')仅匹配您的根路径。

尝试这样的事情来匹配每条路径:

@app.route('/<path:filename>')
@auth.login_required
def send_html_files(filename):  
    return send_from_directory('html_files', filename)
于 2021-11-25T14:45:38.323 回答