Flask - 使用蓝图在子域上提供静态文件

时间:2021-07-10 12:20:01

标签: flask dns static subdomain

我使用蓝图设置了一个 Flask 应用程序,以使其在子域上工作。主文件如下所示:

app = Flask(__name__,subdomain_matching=True)
app.config.from_object(config_class)
# register blueprints
from app.main import bp as bp_main
app.register_blueprint(bp_main, subdomain='<user>')
from app.dash import bp as bp_dashapps
app.register_blueprint(bp_dashapps, subdomain='<user>')

然后在我的 index.html 文件中,我对静态文件有以下引用

<link rel="stylesheet" href="{{url_for('static', filename='css/main.css')}}">

这样的服务:

<link rel="stylesheet" href="http://flask-subdomain.com:5000/static/css/main.css">

问题是我希望在子域上而不是在主域上提供静态文件。我希望 href 为 http://app.flask-subdomain.com/...

我尝试过执行 app = Flask(__name__,subdomain_matching=True, static_url=None),然后手动添加静态 url 并相应地更改 url_for

app.add_url_rule('/static/<path:filename>',
                 endpoint='static',
                 subdomain="<user>",
                 view_func=app.send_static_file)

但这也不起作用,因为它仍然在 flask-subdomain.com 而不是 app.flask-subdomain.com 上提供服务

任何帮助将不胜感激!

0 个答案:

没有答案