Django形成输入奇怪的行为

时间:2016-04-21 21:23:13

标签: html django

我正在尝试生成一个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>

它产生了这个:

ad-interest

但是当我尝试在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>

生成这个:

new ad-interest

我不明白为什么“额外”的东西出现在表格上。功能不受影响

1 个答案:

答案 0 :(得分:1)

我打赌你的表单字段ad_interestCharField,所以通过{{ 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