在Flask中使用子域名时,如何访问css url中引用的静态文件和使用require.js的js文件?

got*_*nix 5 css subdomain flask requirejs

烧瓶静态设置:

app = Flask(__name__.split('.')[0], static_folder=None)
app.static_url_path = '/static'
app.static_folder = 'static'
app.add_url_rule(app.static_url_path + '/<path:filename>',
                 endpoint='static',
                 view_func=app.send_static_file)
Run Code Online (Sandbox Code Playgroud)

CSS

@font-face {
    font-family: MuiiconSpread;
    font-weight: normal;
    font-style: normal;
    src:  url('../fonts/icons.ttf') format('truetype');
}
Run Code Online (Sandbox Code Playgroud)

JS

require.config({
    paths: {
        'jquery': '/static/plugins/jquery-3.3.1/jquery.min',
    },
});
Run Code Online (Sandbox Code Playgroud)

当访问子域名如: 时a.test.comicons.ttfjquery.min.js都是404错误。

当我添加subdomain='a'静态add_url_rule时,一切都会好起来的。但它只是匹配a.test.com,而访问b.test.com应该将相同的配置更改为subdomain='b'.

如何修复它?

Sar*_*l N 0

我遇到了同样的问题。

根据研究,我知道Flask-CORS是最好的解决方案。

__init__.py但为了临时修复,我在根文件夹的文件中添加了以下代码。

@app.after_request
def after_request(response):
    if request.endpoint.startswith('static'):
        response.headers.add('Access-Control-Allow-Origin', '*')
    return response
Run Code Online (Sandbox Code Playgroud)