我有一个django表格,我需要显示测量单位。
例如,对于表单字段,我有标签和值。我还需要另外一个“标签”来进行单位测量。
E.g。 重量[文本框] Kg
如何在forms.py中的表单中添加Kg?我正在使用crispy表单模块来呈现我的表单。
这是forms.py。
的一个例子class WeightForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(LifeEventsForm, self).__init__(*args, **kwargs)
self.helper=FormHelper(self)
self.helper.layout = Layout(
'weight',
FormActions(
Submit('submit', "Save changes"),
Submit('cancel',"Cancel")
),
)
self.helper.form_tag = False
self.helper.form_show_labels = True
class Meta:
model = myWeight
我的models.py看起来像:
class myWeight(models.Model):
id = models.IntegerField()
weight = models.IntegerField(null=True,blank=True)
def __str__(self):
return str(self.id)
答案 0 :(得分:0)
也许不是最好的主意,但很简单:
您可以使用自定义模板
覆盖from crispy_forms.layout import Field
class DoubleLabeledField(Field):
template = "your_custom_field.html"
来自your_custom_field.html
的{{1}}来自/site-packages/crispy_forms/templates/bootstrap3/field.html
的所有内容(如果是另一个模板包,请替换bootstrap3
)并在{{ field.label|safe }}
的每个入口附近放置一些信息
然后在你的表格中应该是:
self.helper.layout = Layout(
DoubleLabeledField('weight'),
FormActions(
Submit('submit', "Save changes"),
Submit('cancel',"Cancel")
),
)