【问题标题】:When use subdomain in Flask, how to access static files quoted in css url and js files used require.js?在Flask中使用子域时,如何访问css url中引用的静态文件和使用require.js的js文件?
【发布时间】:2018-10-31 15:59:39
【问题描述】:

Flask 静态设置:

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)

CSS

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

JS

require.config({
    paths: {
        'jquery': '/static/plugins/jquery-3.3.1/jquery.min',
    },
});

访问a.test.com等子域时,icons.ttfjquery.min.js是404错误。

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

如何解决?

【问题讨论】:

  • 那么,您希望 所有 个子域返回数据吗?
  • 是的,我想要我该怎么办??

标签: css flask requirejs subdomain


【解决方案1】:

我遇到了同样的问题。

根据研究,我了解 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-04
    • 1970-01-01
    • 2011-08-19
    • 2019-03-05
    • 1970-01-01
    • 2012-03-14
    相关资源
    最近更新 更多