我一直试图使用Django api隐藏模型类中定义的隐藏字段的标签。该模型的CRUD操作由Django admin管理。
我的模特是
class RackForm(django.forms.ModelForm):
def __init__(self, *args, **kwargs):
self.fields['racktypeid'].widget = \
forms.HiddenInput(attrs={'styles': 'display:none;'})
..... other initialization
生成的html源代码如下所示
<div class="form-row racktypeid">
<div>
**<label for="id_racktypeid" class="required">Rack Type:</label>**
**<input styles="display:none;" name="racktypeid" value="3" onchange="changeRackType(this);" type="hidden" id="id_racktypeid" />**
<p class="help">The physical type of rack as defined in the rack type list</p>
</div>
</div>
该字段已隐藏,但未隐藏相关标签。我甚至尝试过使用jQuery。我的语法可能有问题。如果我是,如果我错了,请纠正我。
$(document).ready(function() {
// Hide label for RackForm rack type id label.
$('#id_racktypeid, label[for="#id_racktypeid"]').hide()
$('#id_racktypeid, label[for="#id_racktypeid"]').parent().hide()
});
});
所有选项都没有成功。有什么我需要隐藏隐藏字段的标签吗?
更新:最终我选择隐藏整个div标签。
答案 0 :(得分:-1)
您的问题源于使用{{ form.as_p }}
或其他一些其他快捷方式来呈现您的表单。自己渲染表单,你就不会遇到这个问题。
此外,在Django 1.3中,有一种更简单的方法来更改字段的窗口小部件,请参阅http://docs.djangoproject.com/en/1.3/topics/forms/modelforms/#overriding-the-default-field-types-or-widgets