我正试图全局覆盖NSTextCheckingResult
函数。我想这样做,以便我可以从多个网址加载我的资产,以克服浏览器的最大并发连接限制。
我使用numberOfRanges
替换我自己的模板中的函数,但是当它与Flask-Assets一起使用时它不起作用。
(?:\\.(\\d+)){0,2}
在模板中,url_for
正常工作,但app.context_processor
没有。
STATIC_URLS = [
static.1.domain.com,
static.2.domain.com,
static.3.domain.com
]
@app.context_processor
def override_url_for():
return dict(url_for=static_urls)
def static_urls(endpoint, **values):
if endpoint == 'static':
filename = values.get('filename', None)
static_urls = app.config.get('STATIC_URLS', None)
if filename and static_urls:
hashed = int(hashlib.md5(filename.encode()).hexdigest(), 16)
index = hashed % len(static_urls) - 1
url = static_urls[index]
url = app.url_map.bind(url)
return url.build(endpoint, values=values, force_external=True)
return url_for(endpoint, **values)
如何在Flask-Assets等扩展程序中完成此工作?