在我的Django模板中,{{ form.ietf_tag|bootstrap }}
呈现为
<div class="form-group">
<label class="control-label " for="id_ietf_tag">IETF tag</label>
<div class=" ">
<input class=" form-control" id="id_ietf_tag" maxlength="12" name="ietf_tag" type="text">
</div>
</div>
我想在<button>
之前插入一个<input>
,所以我想我只是将呈现的HTML复制,粘贴和修改到它看起来像这样的地方:
<div class="row">
<div class="col-md-6">
<form action="" method="post">
{% csrf_token %}
<!-- Manually render ietf_tag input -->
<div class="form-group flex {% if form.ietf_tag.errors %}has-error{% endif %}">
<label for="{{ form.ietf_tag.id_for_label }}" class="control-label">{{ form.ietf_tag.label }}</label>
<div class=" ">
<button class="btn btn-primary get-code" data-url="{% url 'ajax_temporary_code' %}">Get Code</button>
<input id="{{ form.ietf_tag.id_for_label }}" class="form-control temp-code required" maxlength="12" name="{{ form.ietf_tag.html_name }}1" type="text" disabled value="{{ form.ietf_tag.value|default:"-" }}">
</div>
<span class="help-block">{{ form.ietf_tag.errors.0 }}</span>
</div>
<!-- -->
{{ form.common_name|bootstrap }}
{{ form.native_name|bootstrap }}
{{ form.direction|bootstrap }}
{{ form.comment|bootstrap }}
<button type="submit" class="btn btn-primary pull-right">Create</button>
</form>
</div>
</div>
在<form>
提交时,其他所有内容都提交, ietf_tag
,我手动呈现。
QueryDict:{u&#39; common_name&#39;:[u&#39;&#39;],u&#39;评论&#39;:[u&#39;&#39;],u&#39; csrfmiddlewaretoken&#39;:[u&#39; G6UP5DxrSHHPPQzj6SbxM06Hh8yT9ksm&#39;],u&#39;指导&#39;:[u&#39; l&#39;],u&#39; native_name&#39;:[u&#39; &#39;]}
我仔细检查name
属性,这是正确的。使用Django渲染输入没有问题。
为什么会这样?
也许我可以直接在模板中复制,粘贴和修改HTML,从而完成相同的结果?
编辑:在HTML代码中添加更多上下文
答案 0 :(得分:0)
disabled
中的<input>
属性是导致问题的原因。我删除了它,现在价值包含在表单提交中。
如果您的<input>
为disabled
,则表单不会提交该值。