javascript中的django语法
我整个周末都在努力解决这个问题。 当我在Django模板中的脚本标记中时,我似乎不知道如何加载静态图像 如果你看看这个代码。图像加载正确。 但是wehn试图通过javascript做同样的事情,这是行不通的 我读过其他一些帖子,但都谈到在javascript中使用变量。 没有人讨论{%static%}语法 代码如下:javascript中的django语法,javascript,django,templates,syntax,Javascript,Django,Templates,Syntax,我整个周末都在努力解决这个问题。 当我在Django模板中的脚本标记中时,我似乎不知道如何加载静态图像 如果你看看这个代码。图像加载正确。 但是wehn试图通过javascript做同样的事情,这是行不通的 我读过其他一些帖子,但都谈到在javascript中使用变量。 没有人讨论{%static%}语法 代码如下: {% extends 'base.html' %} {% load static %} {% load dictionary_extras %} {% block content
{% extends 'base.html' %}
{% load static %}
{% load dictionary_extras %}
{% block content %}
<img src={% static 'lol2.jpg' %}>
<canvas id="e" width="320" height="200" style="border:1px solid #d3d3d3;"></canvas>
<script language="JavaScript">
document.write('hello world.');
var canvas = document.getElementById("e");
var context = canvas.getContext("2d");
var imageObj = new Image();
imageObj.onload = function() {
context.drawImage(imageObj,0,0);
};
imageObj.src = {% static 'lol2.jpg' %};
</script>
{% endblock %}
{%extends'base.html%}
{%load static%}
{%load dictionary_extras%}
{%block content%}
写(‘你好,世界’);
var canvas=document.getElementById(“e”);
var context=canvas.getContext(“2d”);
var imageObj=新图像();
imageObj.onload=函数(){
drawImage(imageObj,0,0);
};
imageObj.src={%static'lol2.jpg%};
{%endblock%}
谢谢 在HTML中使用Django模板标记和在模板中使用Javascript代码之间没有区别 确保您的Javascript代码正确,并且不会因为忘记添加单引号而失败:
{% static 'lol2.jpg' %}
非常简单,请确保标记周围有引号:
imageObj.src = "{% static 'lol2.jpg' %}";
当您使用static
标记时,它会呈现完整的url,但为了使其成为正确的JavaScript或HTML标记,它还需要用引号括起来,例如:
<img src={% static 'lol2.jpg' %}>
呈现到(取决于静态URL设置):
应在哪里:
<img src="{% static 'lol2.jpg' %}">
这将导致:
<img src="/static/lol2.jpg">
谢谢你的帮助。虽然这似乎不起作用。是的,我在编辑代码的时候忘记了引用。但它仍然不起作用。这似乎有一个明显的区别,因为我的标签与加载图片一起工作。但后者并没有,这条线似乎有问题。具有imageObj.src={%static'lol2.jpg%}的对象。如果我把它从javascript代码中排除。document.write命令工作并显示在页面上。但前提是我把这句话注释掉。否则,整个块将无法工作,document.write不会向页面写入任何内容。请不要在上面编辑并添加了单个缺少的引号
<img src="/static/lol2.jpg">