【问题标题】:Showing model data as dropdown list in html Template in Django?在Django的html模板中将模型数据显示为下拉列表?
【发布时间】:2021-06-13 10:01:15
【问题描述】:

我正在尝试访问模型的数据以作为下拉菜单实现,但我陷入了这个问题。谁能帮我?? 这是我所拥有的......

views.py


    def educationdata(request):
        obj = DegreeDetails.objects.all()
        context={
            'Data':obj
        }
        return render(request,'Education.html', context)

这是我为模型 DegreeDetails 创建的视图

Model.py


    class DegreeDetails (models.Model):
        degree = models.CharField(max_length=10)
        discipline = models.CharField(max_length= 15)
    
        def __str__(self):
            return '%s %s'%(self.degree, self.discipline)

这是我正在使用的模型,该模型在另一个模型中用作 ForeignKey,如下所示,因此我想将其显示为下拉字段

    degree_details = models.ForeignKey(DegreeDetails, on_delete= models.CASCADE)

模板.Html


    <div class="col-lg-8 col-md-8">
                          <label>Degree Details</label>
                          <input type="text" name="degree_details" id="inputdegree_details" class="form-control" placeholder="Select from Dropdown" value="{{education_form.initial.degree_details}}">
                          <select class="form-control">
                          {% for data in Data %}  
                            <option>{{data}}</option>
                          {% endfor %}
                        </select>

期待您的回复,谢谢

【问题讨论】:

    标签: python-3.x django django-models django-views django-templates


    【解决方案1】:

    您应该使用 django 表单。文档中对此进行了很好的解释。

    【讨论】:

      【解决方案2】:

      最好使用 Django Forms 或 modelforms。

      官方文档https://docs.djangoproject.com/en/3.1/topics/forms/modelforms/

      用于修复您编写的当前代码。

      您需要将 id 设置为下拉菜单中每个选项的值。

      <div class="col-lg-8 col-md-8">
                            <label>Degree Details</label>
                            <input type="text" name="degree_details" id="inputdegree_details" class="form-control" placeholder="Select from Dropdown" value="{{education_form.initial.degree_details}}">
                            <select class="form-control">
                            {% for data in Data %}  
                              <option value="{{data.id}}">{{data}}</option>
                            {% endfor %}
                          </select>
      

      【讨论】:

        猜你喜欢
        • 2020-12-23
        • 2020-12-10
        • 1970-01-01
        • 1970-01-01
        • 2015-09-28
        • 2013-02-17
        • 1970-01-01
        • 2016-05-06
        • 1970-01-01
        相关资源
        最近更新 更多