django models 中的 choice 内容,如何在前端的中以下拉菜单展示出来

models.py 内容

class IdcInfo(models.Model):
    virtual_choice = (
        (0, '否'),
        (1, '是'),
    )
    idc_name = models.CharField(max_length=50, verbose_name=('机房名字'), default=u"", null=True, blank=True)
    is_virtual = models.IntegerField(verbose_name=("是否云主机"), choices=virtual_choice, default=0)

views.py 内容

class IdcAddView(View):
    """
    添加 IDC 信息
    """
    def get(self, request):
        if request.user.is_superuser:
            is_virtual_list = IdcInfo.objects.all()
            print is_virtual_list
            return render(request, "assets/idcadd.html", {is_virtual_list: 'is_virtual_list'})
        else:
            return HttpResponse("用户无权限")

前端 html 内容

 <select class="form-control m-b" name="is_virtual">
        {% for  is_virtual_i in is_virtual_list %}
            <option>{{  is_virtual_i.get_is_virtual_display  }}</option>
        {% endfor %}
    <option>option 2</option>
</select>

https://ws2.sinaimg.cn/large/6593bbb4gy1fuogdho18oj20p80do74v.jpg

如何把choice里的内容填充到前端的option里面

阅读 8.2k
1 个回答

我看代码基本是没问题的, 但是有个地方应该是疏忽写错了:

return render(request, "assets/idcadd.html", {is_virtual_list: 'is_virtual_list'})

这里应该是:

return render(request, "assets/idcadd.html", {'is_virtual_list': is_virtual_list})

效果:

clipboard.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题