django中的ModelForm,如何获取maxlength属性

时间:2013-12-12 18:28:11

标签: django

在上下文中我有表格。当我将{{form}}放在HTML页面中时,一切正常。 像这样:

<input id="id_sifraDrzave" maxlength="1024" name="sifraDrzave" type="text" />

如何获得字段的最大长度?

2 个答案:

答案 0 :(得分:2)

您可以使用模板中的form.fields.username.max_length来访问它。

示例(交互式shell):

>>> from django.forms.models import modelform_factory
>>> from django.contrib.auth.models import User
>>> UserForm = modelform_factory(User)
>>> form = UserForm({})
>>> print form['username']
<input id="id_username" maxlength="30" name="username" type="text" />
>>> print form.fields['username'].max_length
30

>>> from django.template import Template, Context
>>> print Template('{{ form.fields.username.max_length }}').render(Context({'form': form}))
30

或使用<specific_column>.field.max_length

>>> print Template(
... '{% for column in form %}{{ column.field.max_length }} {% endfor %}'
... ).render(Context({'form': form}))
128     30 30 30 75

答案 1 :(得分:1)

{% for column in  columnMetaData%}
        alert('{{column}}');
        alert('{{column.max_length}}');
{% endfor %}

首先显示警告:

<input id="id_sifraDrzave" maxlength="1024" name="sifraDrzave" type="text" />

第二次警告什么......