【发布时间】:2014-10-17 17:47:23
【问题描述】:
为了更好地控制我的输入字段,我尝试“复制”在模板中生成输入字段的函数
我使用 ModelForm 并且我想更改
...
{{ 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** }}"/>
...
除了 maxlength 和 value 之外,大部分已经可以使用了。
最大长度
我读了
- How can I programmatically obtain the max_length of a Django model field?
- Django: model maxlength and form maxlength
但我还是没搞清楚……
价值
这个问题的答案 (How can you manually render a form field with its initial value set?) 指向一张已经修复的票。如果不存在任何值,name.value 仍然会打印“None”。我是要手动捕获value="None",还是同时有更好的解决方案?
[编辑]
value 似乎是这样工作的
{{ form.name.value|default_if_none:"" }}
【问题讨论】:
标签: python django input django-forms