我有一堆需要渲染的画布。我不想把 JavaScript代码在Python循环,因为我觉得这是Django:如何在使用python变量时将JavaScript代码在静态文件夹中分开
home.html
{% load staticfiles %}
<head>
<script type="text/javascript" src="{% static
'canvas/canvasrender.js' %}"></script>
</head>
{% for canvas in user_canvas_set %}
<canvas class = "canvas" id="{{canvas.id}}" width="400" height="200"
canvas_post= ""{{canvas.canvas_post}}"" >
Your browser does not support the HTML5 canvas tag.</canvas>
**<script>
canvasrenderNP.canvaswrite("{{canvas.id}}","{{canvas.canvas_post}}")
</script>**
{% endfor %}
我做了返回用户的数组帆布IDS自定义功能不好的做法,因为我使用画布ID作为画布元素的ID。
home.html
<script>
alert("{{user_canvas_ids}}")
</script>
我得到所需的输出:
[247, 248, 251, 252]
现在,当我把这个静态文件
canvasrender.js
alert("{{user_canvas_ids}}")
然后将其加载到 home.html
{% load staticfiles %}
<head>
<script type="text/javascript" src="{% static
'canvas/canvasrender.js' %}"></script>
</head>
输出:
"{{user_canvas_ids}}"
我很困惑为正在发生的事情。我认为脚本标签插入js文件之间的“<script> </script>
”
我知道我可以做一个这样的元素,并获得属性,但我觉得这不是好习惯,或者它是好的?
<p id="canvas_ids" canvas_ids ="{{user_canvas_ids}}"> </p >
还有什么我能做的,使我能够避免在HTML文件中编写JavaScript代码 ?
为什么这不是一个重复的问题。它没有任何关于为什么html页面中的链接js文件无法保持对python变量的引用。但是,如果JavaScript被编码在html页面中,它可以
可能重复(http://stackoverflow.com/questions/298772/django-template-variables-and-javascript) – Filly
我检查出来,并它没有任何关于为什么html页面中的链接js文件无法保持对python变量的引用。但是,如果JavaScript是在html页面中编码的,它可以。 – user3369264