我试图在一个django
模板中使用javascript
加载一个特定的图像,但似乎遇到了一个基于django
标记格式的问题。在
我在img
标记中有一个标准的django
静态资产源,如下所示:
{% load static %}
<img src="{% static 'img/folder/logo1.svg' %}" id="orgLogo" alt="Logo" height="100px"/>
我在页面下方显示django
的数据,如下所示:
我想做的是让img
src
根据django
标记内的thing.org
的值进行更改。在
我原本以为jquery
是最好的选择,但它似乎不能很好地处理django
标记:
$(document).on('load', '#orgName', function(){
$('img').attr('src','{% static 'img/folder/''+$('#orgLogo').val()+' %}');
});
我得到错误是因为django
语法中需要单引号。在
在我能够让这个javascript
函数的基础工作之后,我计划使用javascript
switch语句来测试特定值,并为javascript
可以加载的每个值(e.x.org1,org2,org2)分配一个图像(e.x.logo1.svg,logo2.svg等)thing.org
可以加载的每个值(它是一个不长且不可能更改的预定义值集)。在
关于如何处理这个问题有什么建议吗?在
我可以不用
javascript
来解决这个问题。在工作代码如下:
图像文件的名称必须与
thing.orgName
的值相同,但对于我的用例来说,这不是问题,因为这些名称可能永远不会更改或很少更改。在您不能将在后端、服务器上评估的内容(模板标记)和在前端评估的内容(在最终用户的浏览器(javascript)中):您的
{% static %}
模板标记需要在将HTML文档发送到浏览器之前由Django评估。您试图将javascript计算的变量混合到{% static %}
标记中,但这没有意义,因为它们在完全不同的时间点(在不同的计算机上)进行计算。在当然,您可以使用模板标记来创建字符串,然后在javascript中使用:
如果您在浏览器开发工具中查看HTML源文件,您会看到:
^{pr2}$相关问题 更多 >
编程相关推荐