我厌倦了在我的烧瓶应用程序中使用css,所以我决定使用烧瓶资产https://github.com/miracle2k/flask-assets移动到scss。 我在app.py文件中添加了这个:
from flask_assets import Environment, Bundle
assets = Environment(app)
assets.debug = True
assets.url = app.static_url_path
scss = Bundle('sass/foo.scss', 'sass/bar.scss', filters='pyscss', output='gen/all.css')
assets.register('scss_all', scss)
如果我理解正确,这些行应该检查我的static / sass文件夹并生成一个带有一个all.css缩小文件的gen文件夹吗? 我还在我的静态资源文件夹和foo.scss文件中创建了一个sass文件夹,里面有一些代码来测试它。 但是,当我启动应用程序时,没有生成任何内容,我没有得到任何错误。我在这里做错了什么?
答案 0 :(得分:1)
以下是我如何使用它。
以下是我的项目目录在生成任何内容之前的屏幕截图:
接下来,我确保安装了以下内容:
pip install flask-assets
pip install pyscss(这是过滤器中的过滤器=' pyscss'部分)
以下是我设置代码的方法:
from flask import Flask, render_template
from flask_assets import Environment, Bundle
app = Flask(__name__)
assets = Environment(app)
assets.url = app.static_url_path
assets.debug = True
scss = Bundle('sass/foo.scss', 'sass/bar.scss', filters='pyscss', output='gen/all.css')
assets.register('scss_all', scss)
@app.route('/')
def hello_world():
return render_template('index.html')
if __name__ == '__main__':
app.run()
还有index.html:
{% assets "scss_all" %}
<link rel="stylesheet" href="/static/gen/all.css">
{% endassets %}
<ul>
<li>
Test Flask Assets
</li>
</ul>
现在,当我运行应用程序时,它花了一秒钟来生成css,但它确实生成了。一旦这样做,这是运行后的目录结构:
你可以在chrome调试器中看到它确实加载了:
请注意,配置文件gen
中的文件夹必须为output='gen/all.css'
,否则无法正常工作。
修改强> 另外,根据@ David的评论,为了生成输出而创建了所有必需的scss文件,这一点非常重要。