如何在Django表单集中使用字段值作为标签?例如。 datagrid,其中一个字段的值是另一字段的标签(可更改)

我试图以表格形式显示数据网格(产品规格表),但无法弄清楚如何将一列的值用作另一列的标签。例如:特征名称(作为标签)..特征值(作为输入)。

如何在Django表单集中使用字段值作为标签?例如。 datagrid,其中一个字段的值是另一字段的标签(可更改)

到目前为止,我的代码是这样的:

models.py

class ProductSpecs(models.Model):
    sku = models.CharField(max_length=30,blank=False)
    f_feature = models.CharField(max_length=100,blank=False)
    f_value = models.TextField(blank=True)
    f_unit = models.CharField(max_length=20,blank=True)
    ic_feature_name = models.CharField(max_length=50,blank=True)
    ic_feature_id = models.SmallIntegerField(blank=True)
    ic_feature_type = models.CharField(max_length=30,blank=True)
    ic_value = models.CharField(max_length=100,blank=True)
    last_update = models.DateTimeField(default=timezone.now,blank=True)
    status = models.CharField(max_length=20,blank=True)

    def __repr__(self):
        return str(self.sku)

views.py

def product_specs(request,pk):

    obj = BrandMainData.objects.get(pk=pk)
    prod_specs = ProductSpecs.objects.filter(sku=obj.sku).all()

    if prod_specs:

        spec_formset = modelformset_factory(ProductSpecs,fields=('ic_feature_name','ic_value',),widgets={'ic_feature_name': TextInput(attrs={'readonly': True,'disabled': True,'border':'none'})})

        if request.method == 'POST':
            formset = spec_formset(request.POST)

            formset.save()
            return HttpResponseRedirect('')
        else:
            formset = spec_formset(queryset=prod_specs)

        context = {
            'formset': formset,'main_prod': obj,}
        return render(request,'imports/product_specs.html',context=context)
    else:
        return render(request,'imports/404.html')

HTML模板

<form action="" method="POST" name="">
    {% csrf_token %}


    {{ formset.management_form }}
    {% for form in formset %}


        {% for field in form %}
            {% if field.value %}

                {% if field.label == 'Ic feature name' %}
                    <div style="float:left; width:450px; padding-left:40px; margin-bottom:0px"> {{ field }}</div>
                {% else %}
                    <div>{{ field }}</div>
                {% endif %}
             {% endif %}

         {% endfor %}
    {% endfor %}

    <div class="form-group">
        <button class="btn btn-info" type="submit">Update</button>
    </div>
</form>

我很难理解为2个字段。格式化它们并摆脱“标签”(第一)字段的边框也很困难。

如果我将其更改为'{{field.value}}',那么值将被奇怪地保存-第一个字段的值将被删除,第二个字段的值将被保存。

xy080121 回答:如何在Django表单集中使用字段值作为标签?例如。 datagrid,其中一个字段的值是另一字段的标签(可更改)

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3078176.html

大家都在问