在Django中,尽管有几种尝试的解决方案,但我无法让表单显示在html页面上。目的是从数据库内容创建一个简单的下拉菜单。
我尝试了几篇文章中提到的几种解决方案,但没有一个起作用
models.py
class Set(models.Model):
cruise = models.IntegerField(verbose_name=_("cruise"))
set = models.IntegerField(verbose_name=_("set"))
def __str__(self):
return self.name
forms.py
class SetChoiceField(forms.Form):
set = forms.ModelChoiceField(
queryset = Set.objects.values_list("set_number",
flat=True).distinct(),
empty_label = None
)
views.py
def index(request):
query_results = Set.objects.all()
set_list = SetChoiceField()
context = {
'query_results': query_results,
'set_list': set_list,
}
return render(request,'base.html', context)
base.html
<h2>Set drop down menu</h2>
<form method="post" novalidate>
{% csrf_token %}
<table>
{{ set_list.as_table }}
</table>
<button type="submit">Save</button>
</form>
预期结果是将出现一个下拉菜单,其中包含数据库中包含的所有集合的列表(1-20)