javascript - 如何将烧瓶/jinja2 变量传递给 js 脚本?
问题描述
我正在尝试编写一个脚本,该脚本从烧瓶应用程序中获取用户名并自动将其呈现为模板。基本上我在layout.html中有这一行:
<div class="sidebar-heading" id= "my_username"> {% block sidebar %} Start Bootsrap {% endblock %} </div>
然后我的主页index.html获取用户名:
{% block sidebar %} {{ username }} {% endblock %}
<script src= "static/js/user_name.js"> </script>
我想将该数据存储在 js 中并将其打印到其他模板。用户名.js:
var username = document.getElementById('my_username').innerHTML;
document.querySelector("#insert_user").innerHTML = username.innerHTML
当我将该值传递给新模板时:
{% block sidebar %}
<div id = "insert_user" > </div>
{% endblock %}
<script src= "static/js/user_name.js"> </script>
打印到新 html 页面的输出显示“未定义”
我做错了什么?谢谢!
解决方案
如果我理解你的问题,把
<script>var username = "{{ username }}";</script>
在您的基本模板中应该使其可用于其他模板中的脚本。
推荐阅读
- php - 如果浏览器不支持 cookie,PHP 如何维护会话?
- python - Python:将具有不同列名的行添加到 dict/dataframe
- javascript - 如何使用 javascript 或 jquery 在 Bootsfaces 中获取 SelectOneMenu 值?
- c# - 如果服务/进程已经停止,如何跳过告诉它停止
- redis - 当 Redis 中有超过 1 个命令时,我是否应该始终使用流水线?
- javascript - 为特定结构JS的每个对象添加属性?
- java - 匹配部分删除,并从一个String中找出一些匹配的关键字
- java - 授权在本地工作但未托管
- ios - 当自定义属性应用于属性字符串范围时,键入属性在该范围内不具有自定义属性,为什么会这样?
- silverstripe - 图像重采样:白色背景