【问题标题】:Previewing images using Django使用 Django 预览图像
【发布时间】:2020-11-25 18:03:25
【问题描述】:

我有一个移植到 Django 的 html、css 和 js 应用程序,我想在上传之前预览图像。下拉表单允许用户选择一个选项,然后在上传之前将图像显示在屏幕上。我通过javascript将img src = ""设置为空,然后当用户从下拉菜单中选择一个选项时,javascript设置img src路径,即如果用户从菜单中选择汽车,那么js将设置img src=images/car.png并显示它。

function displayImage(imgValue){
  if (imgValue == 'car') {
    previewImage.setAttribute("src", "images/car.png");
    previewDefaultText.style.display = "none";
    previewImage.style.display = "block";
  } else if (imgValue == 'location') {
    previewImage.setAttribute("src", "images/newyork.jpg");
    previewDefaultText.style.display = "none";
    previewImage.style.display = "block";
    ....
    ....
}

问题是JS没有在Django中设置img src的路径。我可以通过 JS 做到这一点,还是需要以更 Django/pythonic 的方式重写?注意:不使用 ajax。

【问题讨论】:

    标签: javascript html django django-forms


    【解决方案1】:

    previewImage.setAttribute('src', "{% static 'images/car.png' %}")

    我相信这会解决你的问题。

    【讨论】:

    • 嘿,现在它给了我一个回复:http://127.0.0.1.com:8000/%7B%%20static%20'images/car.png'%20%%7D。如何去除 URL 中的编码?
    • {% load staticfiles %} 在你的 head 元素中添加这个
    • 并确保您在设置中注册了一个静态文件夹。并且 car.png 存在于静态文件夹内名为 images 的文件夹中。
    • 是的,我有。它仍然返回一个编码的 url。在 HTML 中,我的 img src = " " 设置为空。我尝试将其修改为 img src="{% static 'images/ %}img src="{% static %} 等等,但没有成功
    • 这两个你试过的都是错的。还有一些事情是错误的。彻底检查你的语法。 Django 倾向于在未正确引用原始 html 时对其进行编码。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    • 2012-04-19
    • 2023-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多