在提供静态文件夹时使用 Flask-HTTPAuth
Using Flask-HTTPAuth when serving a static folder
我正在使用 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')
我使用 first example in Flask-HTTPAuth docs 来为我的网站添加基本身份验证。对我来说,只需一个普通的用户名和密码就足够了。
问题是当用户直接访问 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)
我正在使用 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')
我使用 first example in Flask-HTTPAuth docs 来为我的网站添加基本身份验证。对我来说,只需一个普通的用户名和密码就足够了。
问题是当用户直接访问 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)