我正在 Django 项目中工作,我想让它保持整洁。因此我决定(除其他外)css styles在. 我没有问题,我在静态文件夹中创建了一个 css 文件夹,并将所有内容保存在里面,它工作得很好。js scriptshtml templatescss stylescss files
当我想js files对python来自views.py. 因为它不认识他们。如何将此变量导入到js外部文件中?
现在我有了这个,但它不起作用。
主要.html
{% load static %}
<!DOCTYPE html>
<html lang="es">
<head>
<title> {% block title%}{% endblock%} </title>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="{% static "/css/main.css" %}">
<link rel="stylesheet" type="text/css" href="{% static "/css/data.css" %}">
</head>
<body>
<h1> WELCOME HOME </h1>
<p>{{Data}}</p>
/* This script has to be in a external js file. HERE WORKS
<script>
alert('{{Data}}');
</script>*/
{% block content %}{% endblock%}
<script type="text/javascript" src="{% static "/js/data.js" %}"></script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
数据.js
alert('{{Data}}')
//alert({{Data}}) ERROR
Run Code Online (Sandbox Code Playgroud)
如果警报没有 python 变量,那么alert("Hello world")它效果很好,但是当我传递 Python 变量时,它会显示“{{Data}}”。
谢谢你!
我们可以通过两种方式做到这一点..
1.
在您的 html 文件中添加以下行
{{ value|json_script:"mydata" }}
Run Code Online (Sandbox Code Playgroud)
并将上述值获取到 data.js 文件,如下所示
var value = JSON.parse(document.getElementById('mydata').textContent);
Run Code Online (Sandbox Code Playgroud)
2.
在该行的下面添加以下标签
<script type="text/javascript">
var data= '{{ data }}'
</script>
<script type="text/javascript" src="{% static '/js/token.js' %}">
</script>
Run Code Online (Sandbox Code Playgroud)
你可以像往常一样在 data.js 文件中获取它,如下所示的 javascript 变量
alert(data);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1604 次 |
| 最近记录: |