webassets.exceptions.FilterError [less] - PullRequest
       41

webassets.exceptions.FilterError [less]

0 голосов
/ 24 сентября 2019

    assets_frontend_css = [
        'website/src/scss/color.less',
        'website/src/scss/common.less',
    ]
    assets_bundles = {

        'assets_frontend_css': Bundle(
            *assets_frontend_css,
            output='gen/assets_frontend.css',
            filters='less,cssmin', extra={'rel': 'stylesheet/css'}),
    }
    app = Flask(__name__)
    assets = Environment(app)
    assets.register(assets_bundles)

color.less

@primary-color : #48b1bf;
@secondary-color: #646464;

common.less

body{
    background: @primary-color;
    color: @secondary-color;
}

Ошибка приведена ниже,

webassets.exceptions.FilterError webassets.exceptions.FilterError: less: подпроцесс возвратил неуспешный код результата: 1, stdout = b '', stderr = b '\ x1b [31mNameError: variable @ primary-colorне определено \ x1b [39m \ x1b [31m in \ x1b [39m- \ x1b [90m в строке 2, столбец 17: \ x1b [39m \ n \ x1b [90м1 body {\ x1b [39м \ n2 фон: \ x1b [7m \ x1b [31m \ x1b [1m @ \ x1b [22-цвет]; \ x1b [39m \ x1b [27m \ n \ x1b [цвет 90 м3: @ вторичный цвет; \ x1b [39 м \ x1b [0м \ x1b [0м]\ n \ n '

Traceback (последний вызов был последним) Файл "/home/kaushal/.local/lib/python3.6/site-packages/flask/app.py", строка 2463, в call return self.wsgi_app (environment, start_response) >> Файл "/home/kaushal/.local/lib/python3.6/site-packages/flask/app.py", строка 2449, в ответе wsgi_app= self.handle_exception (e) Файл "/home/kaushal/.local/lib/python3.6/site-packages/flask/app.py", строка 1866, в переименовании handle_exceptionse (exc_type, exc_value, tb) Файл "/home/kaushal/.local/lib/python3.6/site-packages/flask/_compat.py", строка 39, в значении рейза

Файл "/home/kaushal/.local/lib/python3.6/site-packages/flask/app.py", строка 2446, в ответе wsgi_app = self.full_dispatch_request () Файл "/home/kaushal/.local/lib / python3.6 / site-packages / flask / app.py ", строка 1951, в full_dispatch_request rv = self.handle_user_exception (e) >> Файл" /home/kaushal/.local/lib/python3.6/site-packages / flask / app.py ", строка 1820, в перерисовке handle_user_exception (exc_type, exc_value, tb) Файл" /home/kaushal/.local/lib/python3.6/site-packages/flask/_compat.py ", строка39, в файле повышения значения файла "/home/kaushal/.local/lib/python3.6/site-packages/flask/app.py", строка 1949, в файле full_dispatch_request rv = self.dispatch_request () "/ home /kaushal / .local / lib / python3.6 / site-packages / flask / app.py ", строка 1935, в dispatch_request вернуть файл self.view_functionsrule.endpoint" / home / kaushal / flask_workspace / portfolio / app/website/controllers.py ", строка 32, в индексе, вернуть файл render_template (" index.html "), файл" /home/kaushal/.local/lib/python3.6/site-packages/flask/templating.py ", строка140, в render_template ctx.app, Файл "/home/kaushal/.local/lib/python3.6/site-packages/flask/templating.py", строка 120, в _render rv = template.render (context) File "/home/kaushal/.local/lib/python3.6/site-packages/jinja2/asyncsupport.py ", строка 76, при рендеринге возвращает файл original_render (self, * args, ** kwargs)" / home / kaushal /.local / lib / python3.6 / site-packages / jinja2 / environment.py ", строка 1008, при рендеринге возвращает файл self.environment.handle_exception (exc_info, True), файл" /home/kaushal/.local/lib/python3.6/site-packages/jinja2/environment.py ", строка 780, в ререйзе handle_exception (exc_type, exc_value, tb) Файл" /home/kaushal/.local/lib/python3.6/site-packages/jinja2/_compat.py", строка 37, в ререйзе, увеличить значениекод пластины {% assets "assets_frontend_css"%} File "/home/kaushal/.local/lib/python3.6/site-packages/webassets/ext/jinja2.py", строка 186, в _render_assets urls = bundle.urls () Файл «/home/kaushal/.local/lib/python3.6/site-packages/webassets/bundle.py», строка 806, в URL-адресах urls.extend (bundle._urls (new_ctx, extra_filters, * args, **kwargs)) Файл "/home/kaushal/.local/lib/python3.6/site-packages/webassets/bundle.py", строка 765, в _urls * args, ** kwargs) Файл "/ home / kaushal /.local / lib / python3.6 / site-packages / webassets / bundle.py ", строка 619, в _build force, disable_cache = disable_cache, extra_filters = extra_filters) Файл" /home/kaushal/.local/lib/python3.6/site-packages / webassets / bundle.py ", строка 543, в файле _merge_and_apply kwargs = item_data)" /home/kaushal/.local/lib/python3.6/site-packages/webassets/merge.py ", строка 276,in apply вернуть self._wrap_cache (ключ, func)Файл "/home/kaushal/.local/lib/python3.6/site-packages/webassets/merge.py", строка 218, в _wrap_cache content = func (). Getvalue () Файл "/home/kaushal/.local/lib/python3.6/site-packages/webassets/merge.py ", строка 251, в func getattr (фильтр, тип) (data, out, ** kwargs_final), файл" /home/kaushal/.local/lib/python3.6 / site-packages / webassets / filter / less.py ", строка 139, во входном файле self._apply_less (_in, out, source_path)" /home/kaushal/.local/lib/python3.6/site-packages / webassets / filter / less.py ", строка 131, в файле _apply_less self.subprocess (args, out, in_) Файл" /home/kaushal/.local/lib/python3.6/site-packages/webassets/filter/ init .py ", строка 527, в подпроцессе proc.returncode, stdout, stderr)) webassets.exceptions.FilterError: less: подпроцесс возвратил неуспешный код результата: 1, stdout = b '',stderr = b '\ x1b [31mNameError: переменная @ primary-color не определена \ x1b [39m \ x1b [31 м в \ x1b [39 м- \ x1b [90 м в строке 2, столбец 17: \ x1b [39 м \ n \ x1b [90м1 тело {\ x1b [39м \ n2 фон: \ x1b [7м \ x1b [31м \ x1b [1м]@ \ x1b [22mprimary-color; \ x1b [39m \ x1b [27m \ n \ x1b [90m3 color: @ second-color; \ x1b [39m \ x1b [0m \ x1b [0m \ n \ n '] Отладчик поймалисключение в вашем приложении WSGI.Теперь вы можете посмотреть трассировку, которая привела к ошибке.Чтобы переключиться между интерактивным отслеживанием и открытым текстом, вы можете нажать на заголовок «Отслеживание».Из текстовой трассировки вы также можете создать его вставку.Для выполнения кода наведите курсор мыши на кадр, который вы хотите отладить, и щелкните значок консоли справа.

Вы можете выполнить произвольный код Python в кадрах стека, и есть несколько дополнительных помощников, доступных для самоанализа:

dump () показывает все переменные в дампе кадра (obj). Выводит все, что известно об объекте, подаренном вам DON'T PANIC, вашим дружественным интерпретатором трассировки Werkzeug.

...