我是初级后端开发人员。我不知道如何使用JS。
我无法设置
<input type="checkbox" name="player_check">
确实... 或反转我无法设置
<input type="checkbox" name="player_check" checked>
假的。
我的代码:
<table id="some_table">
<thead>
<tr>
<th>Prepared</th>
</tr>
</thead>
<tbody>
{% for player in players %}
<tr>
<td>
<input type="checkbox" name="player_check">
</td>
</tr>
{% endfor %}
</tbody>
</table>
假设在“玩家”中我有 5 个玩家,每个玩家都有一个值“player_check”。
其中两人有:
player.player_check = True
休息:
player.player_check = False
我正在尝试使用 {{}} 或 {% %} 在表中启动带有这些值的复选框
我已经尝试过:
<input type="checkbox" name="player_check" value=1>
<input type="checkbox" name="player_check" value="1">
<input type="checkbox" name="player_check" value="True">
<input type="checkbox" name="player_check" value=True>
<input type="checkbox" name="player_check" value="checked">
没有任何作用... 然后我发现复选框检查了一个参数,所以:
<input type="checkbox" name="player_check" checked>
没关系,但是...现在我无法将其关闭:
<input type="checkbox" name="player_check" checked="false">
<input type="checkbox" name="player_check" checked="0">
<input type="checkbox" name="player_check" checked=0>
<input type="checkbox" name="player_check" checked="unchecked">
所以我决定使用 django templpates + python 代码中的更改: 现在 player.player_check 等于选中或未选中
还是不行!现在我不能把 {{ }} 没有像“something”={{ foo }}
这样的名字现在我有 0 个想法,我可以做更多的事情来使它工作......也许 JS?但我不敢相信仅仅在 django/python 中就没有正确的方法。 ;/
您可以使用
{% if ... %}
标签来做到这一点:
{% for player in players %}
<tr>
<td>
<input type="checkbox" name="player_check"{% if player.player_check %} checked{% endif %}>
</td>
</tr>
{% endfor %}
但我认为你最好使用 Django 表单,它将以更优雅的方式为你处理这个问题:你指定表单字段,Django 将处理其余的事情。
另一种方法是使用
yesno
过滤器。
<input name="allowed"
type="checkbox" {{ player.player_check |yesno:"checked," }}>
https://docs.djangoproject.com/en/4.1/ref/templates/builtins/#yesno