我是Django的新手,正在尝试从数据库中获取数据后显示数据。 这是我的模板代码:
{% for obj in object_list %}
<!-- Button trigger modal -->
<div class="card w-75">
<div class="card-body">
<h3 class="card-title" data-toggle="modal" data-target="#exampleModalLong" style="color: green">{{obj.Name }}<br></h3>
<button type="button" class="btn btn-success" data-toggle="modal" data-target="#exampleModalLong">Show Policy</button>
</div>
</div>
直到这里我都得到了正确的响应,并且获得了与数据不同内容中不同的数据,但是在此之后,所有代码仅显示了第一个数据(相同内容)。
<div class="modal fade" id="exampleModalLong" tabindex="-1" role="dialog" aria-labelledby="exampleModalLongTitle" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLongTitle">
<h1>{{ obj.Name }}</h1><br>
</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<h3>Department</h3><br>
{{ obj.Department }}<br>
<h3>Policy</h3>
{{ obj.Policy }}<br>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save changes</button>
</div>
</div>
</div>
</div>
{% endfor %}
我的models.py代码是:
from django.db import models
from django.core.validators import MaxValueValidator, MinValueValidator
# Create your models here.
class Gov(models.Model):
Name = models.CharField(max_length=120)
Department = models.CharField(max_length = 100)
Policy= models.CharField(max_length = 500)
def __str__(self):
return self.Name
答案 0 :(得分:0)
假设您具有以下视图,该视图为您提供了模板的对象:
def some_view(request, person_id):
obj = Person.objects.get(id=person_id)
return render(request, 'some_template.html', {'obj': obj})
让我们说它的模型是这样的:
class Person(models.Model):
name = models.CharField(......)
....
如果是这种情况,那么您从此视图传递的对象应该看起来像{{ obj.name }}
。不要大写。
如果将对象的字典键更改为'person'
,但将值保留为变量obj
,则可以将其添加到模板中,例如{{ person.name }}
。