我正在尝试生成一个django表单,看起来非常简单。
<div class="form-group">
<label class="control-label col-sm-3 col-sm-3 col-xs-12" for="ad-interest">
Ad Interest
</label>
{{ form.ad_interest }}
</div>
它产生了这个:
但是当我尝试在HTML
周围包裹一些input
时,页面上也会生成>
标记的结束input
。
更新了输入标记:
<div class="form-group">
<label class="control-label col-sm-3 col-sm-3 col-xs-12" for="ad-interest">
Ad Interest
</label>
<div class="col-md-6 col-sm-6 col-xs-12">
<input type="text" class="form-control col-md-7 col-xs-12" id="ad-interest" value="{{ form.ad_interest }}" >
</div>
</div>
生成这个:
我不明白为什么“额外”的东西出现在表格上。功能不受影响
答案 0 :(得分:1)
我打赌你的表单字段ad_interest
是CharField
,所以通过{{ form.ad_interest }}
,django已经在使用CharField
的默认小部件了,这就是为什么在第一种情况下没有做任何事情你已经有了<input .....>
html。
但是,如果将默认小部件包装到<input...>
的另一个层中,则html显然可以如上所示。在某种程度上,你有跟随html,这是无效的:
<input type="text" class="..." value="<input...>" >
您只需使用{{ form.ad_interest }}
即可看到默认小部件html,并且您的字段可以自行呈现,对吗? :)
请参阅django doc widget for TextInput
。