一尘不染

在Flask和jinja2中使用sass

flask

我想在我的Flask应用程序中包含一个sass编译器。有一种普遍接受的方法吗?


阅读 747

收藏
2020-04-07

共1个答案

一尘不染

Flask-Assets扩展(使用webassets库)可以用于此目的。以下是将其配置为使用SCSS的pyScss编译器(在Python中实现)的方法:

from flask import Flask, render_template
from flask.ext.assets import Environment, Bundle

app = Flask(__name__)

assets = Environment(app)
assets.url = app.static_url_path
scss = Bundle('foo.scss', 'bar.scss', filters='pyscss', output='all.css')
assets.register('scss_all', scss)

并在模板中包括以下内容:

{% assets "scss_all" %}
<link rel=stylesheet type=text/css href="{{ ASSET_URL }}">
{% endassets %}

SCSS文件也将在调试模式下进行编译。

pyScss只支持SCSS语法,但也有其他过滤器(sassscsscompass)使用原始的Ruby实现。

2020-04-07