在提供静态文件夹时使用Flask HTTPAuth



我使用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/)

做这件事的正确方法是什么?另一方面,什么是快速而肮脏的方式?

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

尝试这样的方法来匹配每条路径:

@app.route('/<path:filename>')
@auth.login_required
def send_html_files(filename):  
return send_from_directory('html_files', filename)

最新更新