我在 django 中有一个网页表单。我的网页上有一些单选按钮。用户选择单选按钮并提交后,我需要知道在我的 View 中选择了哪个单选按钮。 我尝试使用以下代码: HTML 模板:
<form action= "{% url 'rec:opt' %}" method="post">
{% csrf_token %}
{% for name in features %}
<tr>
<td>{{ name }}</td>
<td>
<input type="checkbox" name="is_obj" id={{ name }} + "_is_obj" > <br>
</td>
<td>
Lower Limit <input type="text" name="ll" id={{ name }} + "_ll">
Upper Limit <input type="text" name="ul" id={{ name }} + "_ul">
</td>
</tr>
{% endfor %}
<input type="submit" value="Submit" />
</form>
查看.py
def opt(request):
print(request.POST['is_obj']) #'on'
request.POST 仅返回“on”,并且不说明选择了哪个单选/复选框。 getlist 也返回以下内容
request.POST.getlist['is_obj'] # ['on']
最佳答案
您需要将 value
属性添加到您的复选框:
<input type="checkbox" name="is_obj" id={{ name }} + "_is_obj" value="{{ name|add:'_is_obj' }}">
如果省略 value 属性,则复选框的默认值为 on
。
请注意,您可以使用 add
用于字符串连接的过滤器。但要小心,可以强制转换为整数的字符串将被求和,而不是连接。
关于python - 在 Django 表单发布请求中访问单选/复选框按钮选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51238341/