我在我的flask应用程序中使用了scss和flask-assets。
这是我的app.py:
from flask_assets import Bundle, Environment
from flask import (Flask, render_template)
import os
app = Flask(__name__)
assets = Environment(app)
assets.url = app.static_url_path
assets.load_paths = [os.path.join(app.static_url_path, 'sass/abstracts')]
print(assets.load_paths)
assets.debug = True
app.debug = True
scss = Bundle('sass/abstracts/_variables.scss',
'sass/base/_fu.scss',
filters='pyscss', output='gen/all.css')
assets.register('scss_all', scss)
@app.route('/')
def home():
return render_template('index.html')
if __name__ == "__main__":
app.run(host='0.0.0.0')我正在使用load_paths告诉flask_assets去哪里查找我的文件。这是我的项目的最基本的结构:

我的all.css已生成。但是,当我尝试从我的_fu.scss文件中的抽象文件夹导入我的_variables.scss时。下面是我得到的结果:
scss.errors.SassImportError
scss.errors.SassImportError: Couldn't find anything to import: _variables
Extensions: <NamespaceAdapterExtension>, <CoreExtension>, <ExtraExtension>, <FontsExtension>, <CompassExtension>, <BootstrapExtension>
Search path:
/Users/davidgeismar/code/davidgeismar/quantiops/flask-assets-test/static/sass/base
/Users/davidgeismar/anaconda3/lib/python3.6/site-packages/scss/sass/frameworks
on line 1 of /Users/davidgeismar/code/davidgeismar/quantiops/flask-assets-test/static/sass/base/_fu.scss如果我将变量文件移动到_fu.scss所在的基本文件夹中。然后它就可以工作了。
这是我的_fu.scss文件:
@import '_variables';
.tut {
margin-top: 20px;
color: $color-orange;
background-color: $base-color;
}这里我漏掉了什么?
发布于 2021-04-17 05:34:47
这是一个老生常谈的问题,但我还是会尝试...
您认为在app函数中添加static_url_path和static_folder就能解决这个问题吗?
app = Flask(__name__,
static_url_path='/',
static_folder='../app/static')https://stackoverflow.com/questions/48710213
复制相似问题