通过JavaScript在Django中显示图像

通过JavaScript在Django中显示图像,javascript,html,django,twitter-bootstrap,django-templates,Javascript,Html,Django,Twitter Bootstrap,Django Templates,我正在尝试创建一个包含姓名列表的页面。每个名称都有自己的模式(注意:这在for循环中,因此对于每个名称,创建一个模式),其中包含名称、描述和图像。将显示名称和标题,但不显示图像 <!-- Toggle Button --> {% for name in User_list %} <li><a data-toggle="modal" data-id="{{ name }}" data-description="{{ name.description }}" data-

我正在尝试创建一个包含姓名列表的页面。每个名称都有自己的模式(注意:这在
for
循环中,因此对于每个名称,创建一个模式),其中包含名称、描述和图像。将显示名称和标题,但不显示图像

<!-- Toggle Button -->
{% for name in User_list %}
<li><a data-toggle="modal" data-id="{{ name }}" data-description="{{ name.description }}" data-image="{{ name.image }}" title="Add this item" class="open-AddBookDialog " href="#addBookDialog">{{ name }}</a></li>
{% endfor %}



<!-- Modal -->
<div class="modal hide fade" id="addBookDialog">
    <div class="modal-header">
        <button class="close" data-dismiss="modal">×</button>
        <h3 id="nameId" /></h3>

    </div>
    <div class="modal-body">
        <p id="nameDescription" /></p>
        <div id='images'></div>


    </div>
</div>

<!-- JavaScript -->
<script type="text/javascript">
$(document).on("click", ".open-AddBookDialog", function () {
 var myNameId = $(this).data('id');
 var myNameDescription = $(this).data('description');
 var thumb = $(this).data('image');
 $(".modal-header #nameId").html( myNameId );
 $(".modal-body #nameDescription").html( myNameDescription );
 $(".modal-body #images").html("<img>" ,{src: thumb});
 //.html( myNameImage )
 // As pointed out in comments, 
 // it is superfluous to have to manually call the modal.
 });
</script>

{用户_列表%中的名称为%}
  • {%endfor%} ×

    $(文档)。在(“单击“,”。打开AddBookDialog”,函数(){ var myNameId=$(this.data('id'); var mynamescription=$(this).data('description'); var thumb=$(this.data('image'); $(“.modal header#nameId”).html(myNameId); $(“.modal body#namescription”).html(mynamescription); $(“.modal body#images”).html(“
    我做错了什么,如何更正它(注意:我正在使用Twitter引导)

    方法不接受两个参数。
    html()
    方法正在尝试创建一个元素并初始化它的一些属性。请尝试正确创建它并附加它:

    $("#images").empty().append($("<img>", {src: thumb}));
    
    $(“#图像”).empty().append($(“
    演示:

    元素的
    id
    应该是唯一的,因此您可以使用选择器
    $(“#图像”)
    (对于您拥有的其他选择器也是如此)…否则jQuery会做一些额外的不必要的工作

    参考资料:

    • html()
    • append()

    我向我的朋友道歉,我是有意这么做的,尽管它仍然不会显示图像。在源代码中,它甚至没有将其作为
    tag@user2564732我的错!我不知道我在想什么-
    html()
    接受字符串,而不是jQuery对象。我刚刚更新了我的答案;应该可以。感谢您的更新!它现在重新定义了代码,并为我提供了图像的源代码。是否有办法实际显示它,因为它不会出现?请注意,每个模式都是在for中创建的loop@user2564732我不知道你是什么意思。你是什么意思n“给我图像的来源”?你的意思是它显示的不是图像本身?我认为这意味着路径不正确,无法找到图像。检查DOM并确保
    正确correct@user2564732关于你的模态在for循环中-那么你在页面上有重复的
    id
    s,这是不好的。为什么你要生成多模态无论如何,你应该能够重用一个模式