Flask: 如何从不同文件夹提供静态css文件

4

假设有一个目录foo,其中包含以下结构:

/web
    /static
        /css
        /img
/model
runapp.py

如何从 web/static/css 或 /img 服务器静态文件。
就像这样:
<link href="{{ url_for('web/static', filename='css/bootstrap.min.css') }}" rel="stylesheet">

它提供了

werkzeug.routing.BuildError
BuildError: ('web/static', {'filename': 'css/bootstrap.min.css'}, None)

我已经完成了

app = Flask(__name__, static_folder=os.path.join(os.getcwd(),'web','static'), static_url_path='')

但它并没有起作用。顺便问一下,static_folder和static_url_path之间有什么区别?

1
有什么帮助吗? - Paul Rooney
1
顺便问一下,static_folder和static_url_path之间有什么区别?你可以在这里找到答案:http://flask.pocoo.org/docs/0.10/api/ - Paul Rooney
@PaulRooney 是 path:filename 还是 filename:path,因为版本 .10 显示的是前一种模式。 - user2290820
1个回答

4

url_for('静态蓝图名称.static', filename='文件名')是正确的写法,因为'static'是用于提供静态文件的特殊蓝图。因此,请使用以下代码:

url_for('static', filename='css/bootstrap.min.css')

在你的应用程序中设置静态文件夹:

app = Flask(__name__, static_folder=os.path.join(os.getcwd(),'web','static'))

static_url_path默认为static_folder的名称。不确定将其设置为''会有什么帮助。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接