Python 手动输入字段-值和最大长度
为了更好地控制输入字段,我尝试“复制”模板中生成输入字段的函数 我使用一个模型表单,我想更改Python 手动输入字段-值和最大长度,python,django,input,django-forms,Python,Django,Input,Django Forms,为了更好地控制输入字段,我尝试“复制”模板中生成输入字段的函数 我使用一个模型表单,我想更改 ... {{ form.name }} ... 变成 ... <input id="{{ form.name.auto_id }}" type="text" name="{{ form.name.name }}" maxlength="{{ form.name.**get_max_length** }}" value="{{ form.name.**get_value_or_initial_va
...
{{ form.name }}
...
变成
...
<input id="{{ form.name.auto_id }}" type="text" name="{{ form.name.name }}" maxlength="{{ form.name.**get_max_length** }}" value="{{ form.name.**get_value_or_initial_value** }}"/>
...
(from)您可以从小部件获取max_length属性。对于初始值,您只需要访问value属性,已经有初始值或提交值。传递给form类的所有初始值都保存在form.initial中,但您可能不需要检查这些值:
<input id="{{ form.name.auto_id }}" type="text" name="{{ form.name.name }}" maxlength="{{ form.name.field.widget.attrs.max_length }}" value="{% if form.name.value %}{{ form.name.value }}{% endif %}"/>
谢谢<代码>值似乎有效(我还找到了一个快捷方式-请参阅问题中的编辑),但是,我无法让最大长度
像这样工作。你试过了吗?对不起,我忘了字段属性,它现在已经修好了。BoundField无法直接访问小部件。
<input id="{{ form.name.auto_id }}" type="text" name="{{ form.name.name }}" maxlength="{{ form.name.field.widget.attrs.max_length }}" value="{% if form.name.value %}{{ form.name.value }}{% endif %}"/>