Javascript 如何在Django表单中添加标签ID
我使用Django表单进行输入。不过,我想定制一点。例如,以下Django代码将被翻译为:Javascript 如何在Django表单中添加标签ID,javascript,html,django,django-forms,Javascript,Html,Django,Django Forms,我使用Django表单进行输入。不过,我想定制一点。例如,以下Django代码将被翻译为: #Django code aerial_size_dist = forms.ChoiceField(initial='Very Fine to Fine') #Translated HTML <tr><th><label for="id_aerial_size_dist">Aerial size dist:</label><
#Django code
aerial_size_dist = forms.ChoiceField(initial='Very Fine to Fine')
#Translated HTML
<tr><th><label for="id_aerial_size_dist">Aerial size dist:</label></th><td><select name="aerial_size_dist" id="id_aerial_size_dist"></select></td></tr>
#Django代码
天线尺寸距离=forms.ChoiceField(首字母为“非常精细到精细”)
#翻译的HTML
天线尺寸距离:
我的问题是,如何从Django端添加标签属性,例如“style”?小部件能否更改Django表单标签属性
目标HTML
天线尺寸距离:
这里回答了类似的问题:
.
虽然它不允许您直接自定义ID,但它使用默认(自动生成)ID
(简短回答)在模板中使用此选项:
编辑:
<label for="{{ form.my_field.id_for_label }}">{{ form.my_field.label }}</label>
{{form.my_field.label}
旧版本:(这在某些情况下不起作用-请参阅评论)
{{form.my_field.label}
是的,您可以感谢您的回复。我尝试将widget=forms.Select(attrs={'style':'display:none'})添加到代码中,但它只隐藏下拉菜单,而不隐藏标签部分。所以我的问题是Django是否有form.label或类似的东西?获取标签id的正确方法是使用form.id_作为标签。区别很细微,但使用auto_id会导致多值字段+多窗口小部件出现错误。
<label for="{{ form.my_field.id_for_label }}">{{ form.my_field.label }}</label>
<label for="{{ form.my_field.auto_id }}">{{ form.my_field.label }}</label>
class FormName(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(FormName, self).__init__(*args, **kwargs)
self.fields['field_name'].widget.attrs['style'] = '...'