我已经创建了一个数据库,还创建了一个表单来添加数据。 但是当我试图在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
:要理解这没有导致错误的原因,可以参考this
您使用的是for循环,其中banks模型的每个项(对象)在循环中都被称为bank。因此,请使用“bank.bankname”
例如
此外,作为最佳实践,请尝试在选项标记中使用表的主键值。这将帮助您更好地引用javascript中的特定数据(tables对象),以便将数据发送到视图
例如
相关问题 更多 >
编程相关推荐