Данные не отображаются в HTML... вместо них отображается пустота

Я создал базу данных и также создал форму для добавления данных в нее. Но когда я пытаюсь отобразить данные в html, то ничего не видно. Моя модель

class Bank(models.Model):
    bankname=models.CharField(max_length=50)
    acctitle=models.CharField(max_length=50)
    city=models.CharField(max_length=50)
    branchname=models.CharField(max_length=50, null=True)
    branchcode=models.IntegerField(default=0)
    adddate=models.DateTimeField(default=timezone.now)
    

    def __str__(self):
        return self.bankname

Мои взгляды

def add_bank(request):
    if request.method=='POST':
        bankname=request.POST.get('bankname')
        acctitle=request.POST.get('acctitle')
        city=request.POST.get('city')
        branchname=request.POST.get('branchname')
        branchcode=request.POST.get('branchcode')

        data=Bank(bankname=bankname,acctitle=acctitle,city=city,branchname=branchname, branchcode=branchcode)
        data.save();
    return render(request, 'add_bank.html')

        
def add_amount(request):

    banks= Bank.objects.all()
    return render(request, 'add_amount.html', {'banks':banks})

Мой Html для отображения данных

<select name="banks" class="form-control custom-select">
                      <option value="">Bank:</option>
                      {% for bank in banks %}
                        <option value="{{ forloop.counter }}">{{ banks.bankname }}</option>
                      {% endfor %}
                      
                    </select>

Выходное изображение

Я не знаю, где я делаю ошибку

Замените banks.bankname на bank.bankname в этой строке:

<option value="{{ forloop.counter }}">{{ banks.bankname }}</option>

Чтобы понять, почему это не привело к ошибке, вы можете обратиться к this.

Вы используете цикл for, в котором каждый элемент (объект) модели банков упоминается вами в цикле как bank. Поэтому используйте "bank.bankname".

eg.

<option value="{{ forloop.counter }}">{{ bank.bankname }}</option>

Кроме того, в качестве лучшей практики попробуйте использовать основной ключ вашей таблицы в значении в теге Option. Это поможет вам лучше ссылаться на конкретные данные (объект таблицы) в javascript для отправки данных в представления.

eg.

<option value="{{ bank.banks_primary_key }}">{{ bank.bankname }}</option>
Вернуться на верх