从表单中的复选框中获取标签

时间:2014-02-10 06:01:14

标签: python html django django-forms django-templates

我有一个包含一些字段的表单:textarea,文本框和随机数字的复选框,根据产品的不同而不同。我想知道如何获取已选中复选框的标签。

这是我的表格:

<form class="form-inline">
<strong><h3>Revise este produto</h3></strong><br>

{% for tag in tags %}
<label class="checkbox">
<input type="checkbox" value=""> #Ótimo
</label>
{% endfor %}

<br/>
<p>&nbsp;</p>
<label>Envie outras hashtags</label> <br/>
<input type="text" class="span3" placeholder="exemplo1, exemplo2">
<br />
<p>&nbsp;</p>
<label>Deixe sua opinião (opcional)</label> <br/>
<textarea name="Text1" cols="80" class="span3" rows="5" placeholder="Digite sua opinião aqui"></textarea>
<br/>
<p>&nbsp;</p>
<button class="btn btn-primary" type="submit"><h4>Pronto!</h4></button>
</form>

2 个答案:

答案 0 :(得分:1)

  • 假设您将表单作为POST发送,则表示值 选中的复选框位于request.POST.getlist('tag')

    请注意,只有选中的复选框才能在POST中发送,但列表中 包含所有已检查框的值元素。

例如:

<input type="checkbox" name="tag[]" value="1" />
<input type="checkbox" name="tag[]" value="2" />
<input type="checkbox" name="tag[]" value="3" />
<input type="checkbox" name="tag[]" value="4" />

说是否检查了1,4,

check_values = request.POST.getlist('checks')

check_values将包含[1,4](已检查的值)

答案 1 :(得分:1)

在models.py中:

class Tag:
    published = BooleanField()
    (...)

在模板中:

{% for tag in tags %}
<label class="checkbox">
<input type="checkbox" name="tag[]" value="" {% if tag.published %}checked{% endif %}> #Ótimo
</label>
{% endfor %}