我只是想知道为什么这个模态没有找到正确的值。当我点击按钮时,它只显示一个值的附加信息。我在某个地方读到它可能是因为某些id的东西但是无法弄明白。
答案 0 :(得分:0)
尝试更改您的代码,如下所示
<td><button type="button" class="btn btn-primary" data-toggle="modal" data-target="#breedModal">Click Here</button></td>
到
<td><button type="button" class="btn btn-primary" data-toggle="modal" data-target="#breedModal_{{forloop.counter}}">Click Here</button></td>
和
<div class="modal fade" id="breedModal" tabindex="-1" role="dialog" aria-labelledby="breedModalLabel" aria-hidden="true">
到
<div class="modal fade" id="breedModal_{{forloop.counter}}" tabindex="-1" role="dialog" aria-labelledby="breedModalLabel" aria-hidden="true">
现在,我将为每一行生成唯一的模型ID。
答案 1 :(得分:0)
实质上我说的是你有:
<div class="modal fade" id="breedModal" ...
但是你在迭代中多次创建它(for循环)。你需要id唯一,所以我建议更像:
<div class="modal fade" id="breedModal{{ breed.id }}" ...
无论如何,您需要更改对此的引用:
<button type="button" data-target="#breedModal{{ breed.id }}"...
这样你就可以为每个模态提供一个唯一的id,所以当你点击按钮时它会知道它应该打开多少个模态。
目前所有按钮都显示为#breedModal
,但因为其中有许多按钮只能看到第一个按钮。
编辑:
实际上,虽然您的数据库中没有breed.id
值,因此请在for for iteration中使用键值对,请参阅此处https://docs.djangoproject.com/en/2.0/ref/templates/builtins/#for。
那么你有:
{% for key, breed in breeds %}
然后我没有尝试使用breed.id
,而是使用key
(将成为与记录索引相关的数字键),因此您的id属性将呈现为breedModal0
,breedModal1
等。