【发布时间】:2012-11-08 22:35:52
【问题描述】:
我正在以这种方式渲染表单:
{% for field in form %}
<div>
{{ field.errors }}
<input name="{{field.name}}" type="{{field.widget.input_type}}" placeholder="{{field.name}}">
</div>
{% endfor %}
但是,{{field.widget.input_type}} 在此处返回空字符串,尽管从 shell 中尝试它会生成 input_type。那么如何从模板中访问字段的输入类型呢?
我没有使用{{field}},因为我需要在每个输入字段中放置一个占位符。
编辑:
我刚刚使用了{{field}} 和一个简单的javascript,将每个输入元素字段中的占位符与元素名称相同,但我仍然想知道如何从模板访问widget.input_type。
【问题讨论】:
-
当您运行输出上述内容的代码时,您是否尝试过在处理后查看 field.widget.input_type 的输出?
-
@Thingover 是的,它什么也没显示,这意味着 Django 无法解析它,所以它只是“默默地”失败,正如文档所说:)
-
尝试用 field.field.widget.input_type 替换 field.widget.input_type
-
field.field.widget.input_type为我做了诀窍,就像@Tkingovr 说的那样
标签: django-forms