Django forms.hiddenInput不起作用

Django forms.hiddenInput不起作用,django,forms,Django,Forms,我有这个表单来添加一个新实例 class NuevoFormulario(ModelForm): class Meta: model = Usuario widgets = { 'email': forms.TextInput(attrs={'required':'required'}), 'account': forms.HiddenInput(), 'type': forms.Hi

我有这个表单来添加一个新实例

class NuevoFormulario(ModelForm):
    class Meta:
        model = Usuario
        widgets = {
            'email': forms.TextInput(attrs={'required':'required'}),
            'account': forms.HiddenInput(),
            'type': forms.HiddenInput(),
        }
在我的模板中,我有这个表

<table class="table-bordered table-hover">
<tbody>
    {% for field in form %}
        <tr class="control-group {% if field.errors %} alert alert-error error {% endif %}  ">
            <td>
                {{ field.label }}
            </td>
            <td>
                {{ field }}
            </td>
            <td>
                {{ field.errors }}
            </td>
        </tr>
    {% endfor %}
</tbody>
但同样的结果。我尝试做的另一件事是检查模板中的字段类型是否隐藏,类似这样:

{{ field.widget.attrs.type }}
但它什么也没显示,我能访问的唯一属性是max_length


有什么解决办法或其他想法吗?谢谢你的时间

您想像这样更改for循环吗

{% for field in form.visible_fields %}
仅在可见字段上迭代。请参阅以供参考

此外,要检查字段是否隐藏,必须使用is_hidden:

{% if field.is_hidden %}
   {# Do something special #}
{% endif %}

您将隐藏字段(在模板中实际可用但不可见)与根本不发送的模型字段(可使用表单元类中的参数实现)混淆。迭代表单的字段将显示除排除列表中的字段以外的所有字段(可见和隐藏)。

使用
forms.HiddenInput()
将很难显示某些内容! 我建议您使用django密码表单:

'account': forms.RegexField(label ="Password",regex=r'^(?=.*\W+).*$',help_text='',
                    widget=forms.PasswordInput,min_length=6,)

我并不想排除这些字段,因为我在这些值中发送了一些初始信息,但这正是我想要的,非常感谢!
'account': forms.RegexField(label ="Password",regex=r'^(?=.*\W+).*$',help_text='',
                    widget=forms.PasswordInput,min_length=6,)