gpt4 book ai didi

每个输入的 ModelMultipleChoiceField 标签的 django 复选框表单

转载 作者:行者123 更新时间:2023-12-04 15:02:17 25 4
gpt4 key购买 nike

我有以下表格:

from models import MyModel

class MultProgresemosReferenciasForm(forms.Form):
selected = forms.ModelMultipleChoiceField(widget=forms.CheckboxSelectMultiple,
queryset=MyModel.objects.filter(active=True))

我又在以下模板中使用它:
  <form action="" method="post">                                                                                             
{% for field in form %}
{{ field }}
{% endfor %}
{% csrf_token %}
<input type="submit" value="Submit Selected" />
</form>

它呈现以下 html:
  <form action="" method="post">
<ul>
<li><label for="id_selected_1"><input type="checkbox" name="selected" value="9" id="id_selected_8" /> prog 1420000930 - pp 0.0078125</label></li>
<li><label for="id_selected_2"><input type="checkbox" name="selected" value="10" id="id_selected_9" /> prog 1420001041 - pp 0.00390625</label></li>
</ul>
<div style='display:none'><input type='hidden' name='csrfmiddlewaretoken' value='csrf_token_hash_string...' /></div>
<input type="submit" value="Submit Selected" />
</form>

如您所见,模板为每个复选框获取了一些标签(来自模型,其中有两个字符串字段,其中包含您可以在其中看到的值)。

问题是,我怎样才能进入复选框的标签并自定义它们?我正在尝试使用相同型号的名称,但进行了一些调整。有没有一种简单的方法可以在 Django 中实现这一目标?

我尝试使用 field.label 但我得到的只是整个 ChoiceField 的“Selected”标签。那不是我想要的,我需要进入每个生成的复选框的标签......

最佳答案

我认为您想以您的形式覆盖 label_from_instance

The unicode method of the model will be called to generate string representations of the objects for use in the field's choices; to provide customized representations, subclass ModelChoiceField and override label_from_instance. This method will receive a model object, and should return a string suitable for representing it. For example:


def label_from_instance(self, obj):
#custom logic here...
return smart_unicode(obj)

关于每个输入的 ModelMultipleChoiceField 标签的 django 复选框表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10340394/

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