gpt4 book ai didi

Django - 更改内联表单集文本输入大小属性

转载 作者:行者123 更新时间:2023-12-02 06:46:24 24 4
gpt4 key购买 nike

我有一个内联表单集,只有三个字段:

class Estimate_Product_Details(models.Model):
proposalID = models.ForeignKey(Estimate_Construction, verbose_name='Proposal ID')
CID = models.ForeignKey(Product, verbose_name = 'CID')
qty = models.DecimalField(max_digits = 7, decimal_places = 2, verbose_name = 'Quantity')

def __unicode__(self):
return u'%s -- %s' % (self.proposalID, self.CID)

然后我从该模型创建一个表单:

class Product_Form(ModelForm):
class Meta:
model = Estimate_Product_Details
fields = ('CID', 'qty')
widgets = {
'qty' : forms.TextInput(attrs={'size':30})
}

我的目标是让 qty 输入字段非常小(我有 30 个用于测试)。但是,当我通过内联表单集呈现此表单时,根本没有设置该属性。在我看来,这是表单集的创建:

    pFormSet = inlineformset_factory(Estimate_Construction, Estimate_Product_Details, form = Product_Form)

我哪里出错了?为什么qty 字段的大小没有改变?

最佳答案

编辑:它可能应该只为输入字段设置一个类,并让 CSS 分配宽度。这样您就可以将其传递给不同的客户端的单独模板等。

也许不要使用 .attrs['size'] = 30 使用 .attrs['class'] = 'some_class' 然后在 HTML 模板中定义类并在那里处理不同的尺寸。

这应该有效:

class Product_Form(ModelForm):
def __init__(self, *args, **kwargs):
super(Product_Form, self).__init__(*args, **kwargs)
self.fields['qty'].widget.attrs['size'] = 30

class Meta:
model = Estimate_Product_Details
fields = ('CID', 'qty')

关于Django - 更改内联表单集文本输入大小属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13612408/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com