Yuq*_*Wei 7 html javascript python django html5
我知道我们可以在模板(html文件)中使用带有{{variable}}的Django变量,但是如何在包含在模板中的Javascript文件中使用变量Django?
例如,这是我的template.html:
<html>
<head>
<script src="/static/youtube.js"></script>
...
Run Code Online (Sandbox Code Playgroud)
如何在youtube.js中使用变量{{user.get_username}} ?不是在template.html因为我没有在这里写我的脚本...当我在Javascript文件youtube.js中使用{{user.get_username}}时,它导致错误"无效令牌{",但在模板中它工作精细.
非常感谢!
cor*_*cor 12
您需要在脚本标记之前打印它
<html>
<head>
<script>
var username = {{user.get_username}};
</script>
<script src="/static/youtube.js"></script>
...
Run Code Online (Sandbox Code Playgroud)
然后你可以使用你username内部的变量,youtube.js因为它被声明为javascript全局变量.
在较新版本的 Django 中,他们实现了一种实现此目的的方法。这样您也可以免受 XSS 侵害
https://docs.djangoproject.com/en/3.2/ref/templates/builtins/#json-script
到你的 Django 变量中添加|json_script:'id_of_the_script_tag'
{{ cart_total|json_script:'cart_total' }}
Run Code Online (Sandbox Code Playgroud)
这将创建一个 HTML<script>标签id=cart_total
在 javascript 文件中解析 JSON 并将其保存在变量中
const cart_total = JSON.parse(document.getElementById('cart_total').textContent);
| 归档时间: |
|
| 查看次数: |
5057 次 |
| 最近记录: |