未找到烧瓶脚本url_for

时间:2019-01-02 12:02:48

标签: javascript python flask jinja2

我有问题。 Flask应用程序响应在此.css URL找不到的404。

enter image description here

如何在javascript文件中编写这个jinja代码?

{{ url_for('static', filename='assets/css/themes/') }}

JavaScript文件

var setColor = function (color) {
            var color_ = (App.isRTL() ? color + '-rtl' : color);
            $('#style_color').attr("href", "assets/css/themes/" + color_ + ".css");
        }

1 个答案:

答案 0 :(得分:0)

Jinja 2仅希望将html文件用作模板:除非您不愿意将脚本放入html中并对其进行模板化(我不鼓励这样做),否则您不能直接在javascript静态文件中使用模板化。

但是,您可以模板化将包含链接的html部分,例如在data属性或共享变量中,以通过javascript恢复。

在页面

<div id="mydiv" data-myurl='{{ url_for('static', filename='assets/css/themes/') }}'> </div>

在javascript中

 $('#style_color').attr("href", $("#mydiv").data('myurl'))