首页 > 解决方案 > 在 jinja 中使用变量动态加载 CSS

问题描述

我有一个变量UI_BRAND,其值为blue

我有以下代码:

{% if UI_BRAND != 'default' %}
    <link rel="stylesheet" href="{{ url_for('static', filename='UI_BRAND-styles.css') }}">
{% endif %}

我需要UI_BRAND-styles.css评估到blue-styles.css. 如果已经存在括号,我已经尝试使用{{}}inside,但我知道这是不允许的。

使用 的值动态加载此 CSS 文件的最佳方法是UI_BRAND什么?

标签: pythonhtmljinja2

解决方案


如何在上一行中分配文件名。我认为它也更容易阅读:

{% if UI_BRAND != 'default' %}
  <% set style_filename = UI_BRAND + '-styles.css' %>
  <link rel="stylesheet" href="{{ url_for('static', filename=style_filename) }}">
{% endif %}

或者您可以+在同一行中使用变量和字符串。

<link rel="stylesheet" href="{{ url_for('static', filename=UI_BRAND + '-styles.css') }}">

推荐阅读