javascript - 如何使用 JavaScript 包含 Django 静态 URL?

标签 javascript html django digital-ocean

我有一个 django 应用程序在 digital ocean 空间上存储静态图像。我可以通过执行以下操作轻松地在我的模板中显示这些静态图像:<img>{% static 'images/my_image.png' %}</img>如果我在加载后检查 HTML 页面,我会看到如下内容:https://nyc3.digitaloceanspaces.com/nameofmyspace/nameofmyspace-space-static_DEV/images/my_image.png?AWSAccessKeyId=XXXXXXXXXXXXXX&Signature=XXXXXXXXXXXXXXXXXX%3D&Expires=1621600823但现在我想使用 javascript 动态更改此图像。
所以我尝试了:document.getElementById(id+"dynamicImage").src = "{% static 'images/my_image_2.png' %}";这几乎可以工作,但图像无法加载。原因是在检查了 src 之后javascript提供的:https://nyc3.digitaloceanspaces.com/nameofmyspace/nameofmyspace-space-static_DEV/images/my_image.png?AWSAccessKeyId=XXXXXXXXXXXXXX&amp;Signature=XXXXXXXXXXXXXXXXXX%3D&amp;Expires=1621600823你可以看到任何有 & 的地方它附加了 amp;给它。
这样做的正确方法是什么?
我可以想到 2 种方法来纠正这个问题,但它们看起来很老套。

  • 我可以将 URL 硬编码到 javascript 中,随着事情的变化,这将是一个更新的噩梦
  • 我可以做<img id = 'my_image' hidden >{% static 'images/my_image.png' %}</img>对于我计划使用的所有链接,然后使用 let URL = document.getElementById("my_image").innerHTML; 在 javascript 中访问此 URL .这不会是更新的噩梦,但看起来很老套,必须是更好的方法。
  • 最佳答案

    我还不能发表评论,但我是用 AWS 这样做的需要做的是生成一个base64图像URL并将该“复制”图像发送到前端,然后使用JS做你想让用户做的任何事情,即使你想修改图像,你也可以随时保存图像为其原始名称并将“file_over_write”设置为True

    关于javascript - 如何使用 JavaScript 包含 Django 静态 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67636484/

    相关文章:

    javascript - CSS 文本右对齐不起作用。如何解决?

    javascript - AJAX 请求后链接不起作用

    javascript - 滚动到 anchor ,同时保留哈希值

    python - django 子应用程序中的循环导入

    python - 使用kivy请求url

    javascript - Rails 服务器/控制台错误 - 没有要加载的文件 - CoffeeScript (LoadError)

    javascript - 我怎样才能让我的汉堡包菜单更小,并且周围有一个完美的圆形边框?

    django - 如何获取 Django 模型中具有 ForeignKey 字段特定值的所有对象?

    javascript - 如何让步进电机随时间转动360度?

    html - 是否可以根据 body 高度使元素(span、div 等)垂直居中?