javascript - Flask 脚本 url_for 未找到
问题描述
我有个问题。Flask 应用程序响应 404 not found at this .css url。
如何在 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");
}
解决方案
Jinja 2 预计仅模板化 html 文件:除非您将脚本放在 html 中并对其进行模板化(我不鼓励这样做),否则您不能直接在 javascript 静态文件中使用模板化。
但是,您可以将包含链接的部分 html 模板化,例如在数据属性或共享变量中,以便由 javascript 恢复。
在页面中
<div id="mydiv" data-myurl='{{ url_for('static', filename='assets/css/themes/') }}'> </div>
在 JavaScript 中
$('#style_color').attr("href", $("#mydiv").data('myurl'))
推荐阅读
- c++ - OpenCV 最小二乘(求解)求解精度
- ios - 我需要逐帧编辑视频,并将这些帧再次转换为视频
- qnamaker - 如何在 QnA Maker 中使用建议问题?
- python - Odoo Override 创建函数有效但返回字典 eroor
- html - 为什么我必须刷新才能看到谷歌地图?
- php - WooCommerce - 隐藏具有相同标题的产品
- c++ - 高效处理为 redis (hiredis) 的 SET 命令创建模板
- python-3.x - 如何在 GitHub 上获取用户/组织的源存储库列表?
- windows - 在 MFC VC++ 中未捕获 MouseWheel 事件
- wordpress - Wordpress - 通过 IP 限制管理页面访问的正确方法