如何将表单呈现为下拉菜单

时间:2019-05-02 15:10:43

标签: django

在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)

0 个答案:

没有答案