1

私の小さなフラスコアプリではstatic/styles/

├── base
│   └── _variables.scss
├── components
│   └── _header.scss
├── site.min.css
├── site.scss
└── vendor
    ├── foundation

使用している基本テンプレートで

{% assets filters='compass,scss,cssmin', output='styles/site.min.css', 'styles/site.scss'%}
        <link rel="stylesheet" type="text/css" href="{{ ASSET_URL }}">
{% endassets %}

スタイルシートをインポートします。私の問題は、スタイルを変更し_header.scssたり_variables.scss、スタイルシートが更新されなかったりすることです。更新時のみsite.scss

関連するpythonコードは次のとおりです。

import sys
from flask import Flask, render_template
from flask.ext.assets import Environment, Bundle # FED Assets
# Need Sass `gem install sass`

app = Flask(__name__)
assets = Environment(app) # FED Assets
app.config.from_object(__name__)

@app.route("/")
def index():
    return render_template('index.html')

if __name__ == "__main__":
    app.run(host='0.0.0.0', debug=True)
4

1 に答える 1

1

バンドル構成にdependsノードを追加するだけです。

{% assets filters='compass,scss,cssmin', depends='**/*.scss' output='styles/site.min.css', 'styles/site.scss'%}
        <link rel="stylesheet" type="text/css" href="{{ ASSET_URL }}">
{% endassets %}

これによりバンドルのキャッシュが無効になることに注意してください。ただし、デプロイ時にアセットをビルドし、コンパイルされたコードのみをデプロイする場合は問題ありません。

于 2015-03-17T18:10:08.393 に答える