0

我有一些 jquery 代码可以在用户单击按钮时切换按钮的活动与非活动图像。当我只是使用相对路径从 Windows 静态运行所有内容时,它工作正常。

但是,一旦我将它迁移到我的 django 开发框,如果我通过 jquery 设置它的相对路径,单击按钮将无法加载所需的图像。所有其他静态图像都可以通过具有相对路径的 css 正常服务,但是如果我在文档加载时通过 jquery 设置相对路径,例如,它就不起作用。我已经通过检查元素确认路径相同并且 jquery 正确设置它们。

尝试各种相对路径20分钟后,发现设置开发服务器的绝对路径是可行的,即“url('http://127.0.0.1:8000/static/img/img.jpg').I'我想让相对路径工作,因为这种方法在灵活性和部署方面有其局限性。

我是否遇到了 django 静态文件服务的限制?我发现错误了吗?还是我缺少什么?

提前致谢!

4

1 回答 1

2

我不知道 Django,但是当您的服务器端框架为您提供根路径时,一种方法是将其导出到主文档中的 JavaScript:

<script>
 templateRootPath = {{% static "path to your template dir" %}}
</script>

然后在适当的地方使用:

$('#mybutton').css('background,"url('"+templateRootPath+"/img/img.jpg')");
于 2012-08-17T08:50:53.473 回答