首页 > 解决方案 > Django中的复选框,未将Bootstrap复选框链接到模型/数据库,这两种方式都不起作用

问题描述

我知道这是一个以不同格式存在的问题,但由于某种原因,我无法为自己找到解决方案。

问题:

当我在 django 管理员中添加一个复选框时,当我尝试在管理员之外编辑项目时(使用 Boostrap 表单),我可以在页面上看到它,但在表单中看不到它。

这是我要编辑的 html 文件:

<div class="checkbox">
  <label class="form-check-label" for="inputprocurement" style=color:#D3D3D3>On Order:</label>
  <input type="checkbox" class="form-check-input" id="inputprocurement" aria-describedby="editprocurement" value="{{ get_item.on_orderp }}" name = "on_orderp">

</div>

这是 models.py 文件中的相关部分:

on_orderp = models.BooleanField("inputprocurementcheck", default = False)

和view.py:

def edit_procurement(request, listp_id):
    if request.method =='POST':
        current_itemp = Procurement.objects.get(pk=listp_id)
        # add `request.FILES or None` for file upload
        form = ProcurementForm(request.POST or None, request.FILES or None, instance=current_itemp)
        if form.is_valid():
            form.save()
            messages.success(request, ('Item Has Been Edited!'))
            return redirect('procurement')
        else:
            messages.success(request, ('Seems Like There Was An Error...'))
            return render(request, 'edit_procurement.html', {})

所以,当我的项目上有一个复选框时:

在此处输入图像描述

当我在编辑表单时,我看不到复选框:

在此处输入图像描述

如果复选框已打开,并且我正在测试带有复选框的编辑功能,则没有任何更改。

如果复选框已打开,并且我正在测试编辑功能并关闭复选框,则系统中的复选框将被取消选中,

当系统中未选中该复选框并且我尝试使用表单勾选它时,没有任何更改会出现错误。

所有其他领域工作正常。

也许有人可以帮助我。

标签: pythondjangotwitter-bootstrapcheckbox

解决方案


我终于在代码中发现了一个错误,这是一个 Id 的问题。

这就是我所做的更改:

<div class="CheckboxInput">
  <label class="form-check-label" for="{{ get_item.on_orderp }}" style=color:#D3D3D3>On Order:</label><br>
  <input type="checkbox" class="form-check-input"  aria-describedby="editprocurement" id="{{ get_item.on_orderp }}" name = "on_orderp">

</div>
<br>

我将不得不在造型上工作,但它确实有效。

如果您对此问题有任何建议或疑问,请在此处发布。


推荐阅读