尝试在Django中以自举模式显示时,从数据库中获取数据时重复出现

时间:2018-10-09 21:02:23

标签: python django

我是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">&times;</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

1 个答案:

答案 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 }}