我正在尝试创建一个下拉字段,其中填充了来自模型(客户)的值,并将其显示给用户。
以下是我要尝试的操作-不确定原因,但是下拉字段中没有填充“客户模型”中的任何信息,只是空的。
Views.py
iff
模板(add_order.html)
def add_order(request):
if request.method == "POST":
form = CreateOrderForm(request.POST)
objectlist = Customers.objects.all()
if form.is_valid():
form.save()
return redirect('add_manifest')#, kwargs={'reference_id': form.cleaned_data['reference']})
#else:
form = CreateOrderForm()
objectlist = Customers.objects.all()
context = {
'form': form,
'objectlist': objectlist,
}
return render(request, 'add_order.html', context)
Models.py
<div class="container">
<form method="POST">
<br>
<h2>Order Information</h2>
<br>
<div class="column_order">
<select>
{% for element in objectlist %}
<option value="{{ element.c_name }}">
{% endfor %}
</select>
</div>
</div>
当我转到该URL并呈现模板时,将显示选择框,但其中没有任何值。有什么想法吗?
答案 0 :(得分:1)
您没有关闭<option>
标记,并且没有选项文本。试试:
<option value="{{ element.c_name }}">{{ element.c_name }}</option>
将value
设置为{{ element.pk }}
也是一个好主意,因为可能没有多个客户具有相同的名称,因为您不强制将该列唯一。