-
template_name
:'django/forms/widgets/radio.html'
option_template_name
:'django/forms/widgets/radio_option.html'
类似于
Select
<div>
标签内的单选按钮列表:<div> <div><input type="radio" name="..."></div> ... </div>
在 Django 4.0 中更改:因此屏幕阅读器更简洁地宣布了它们,单选按钮被更改为在
<div>
标签中呈现。要对生成的标记进行更精细的控制,您可以遍历模板中的单选按钮。假设一个表单
myform
带有一个字段beatles
,该字段使用RadioSelect
作为其小部件:<fieldset> <legend>{{ myform.beatles.label }}</legend> {% for radio in myform.beatles %} <div class="myradio"> {{ radio }} </div> {% endfor %} </fieldset>
这将生成以下 HTML:
<fieldset> <legend>Radio buttons</legend> <div class="myradio"> <label for="id_beatles_0"><input id="id_beatles_0" name="beatles" type="radio" value="john" required> John</label> </div> <div class="myradio"> <label for="id_beatles_1"><input id="id_beatles_1" name="beatles" type="radio" value="paul" required> Paul</label> </div> <div class="myradio"> <label for="id_beatles_2"><input id="id_beatles_2" name="beatles" type="radio" value="george" required> George</label> </div> <div class="myradio"> <label for="id_beatles_3"><input id="id_beatles_3" name="beatles" type="radio" value="ringo" required> Ringo</label> </div> </fieldset>
这包括
<label>
标签。为了更细化,您可以使用每个单选按钮的tag
、choice_label
和id_for_label
属性。例如,这个模板……<fieldset> <legend>{{ myform.beatles.label }}</legend> {% for radio in myform.beatles %} <label for="{{ radio.id_for_label }}"> {{ radio.choice_label }} <span class="radio">{{ radio.tag }}</span> </label> {% endfor %} </fieldset>
…将产生以下 HTML:
<fieldset> <legend>Radio buttons</legend> <label for="id_beatles_0"> John <span class="radio"><input id="id_beatles_0" name="beatles" type="radio" value="john" required></span> </label> <label for="id_beatles_1"> Paul <span class="radio"><input id="id_beatles_1" name="beatles" type="radio" value="paul" required></span> </label> <label for="id_beatles_2"> George <span class="radio"><input id="id_beatles_2" name="beatles" type="radio" value="george" required></span> </label> <label for="id_beatles_3"> Ringo <span class="radio"><input id="id_beatles_3" name="beatles" type="radio" value="ringo" required></span> </label> </fieldset>
如果您决定不遍历单选按钮 - 例如,如果您的模板包含
{{ myform.beatles }}
- 它们将在带有<div>
标签的<div>
中输出,如上所述。外部
<div>
容器接收小部件的id
属性(如果已定义),否则接收BoundField.auto_id
在单选按钮上循环时,
label
和input
标签分别包含for
和id
属性。每个单选按钮都有一个id_for_label
属性来输出元素的 ID。
本文介绍 django.forms.RadioSelect
的用法。
声明
class RadioSelect
相关用法
- Python Django Radians用法及代码示例
- Python Django RandomUUID用法及代码示例
- Python Random.Choices()用法及代码示例
- Python Django RawSQL用法及代码示例
- Python Django RangeOperators用法及代码示例
- Python PIL RankFilter()用法及代码示例
- Python Django Response.json用法及代码示例
- Python Django Repeat用法及代码示例
- Python Django RelatedManager.set用法及代码示例
- Python RLock acquire()用法及代码示例
- Python Django RelatedManager.remove用法及代码示例
- Python Django RequestContext用法及代码示例
- Python Django Reverse用法及代码示例
- Python Django REQUIRED_FIELDS用法及代码示例
- Python Django Redirect用法及代码示例
- Python Django RelatedManager.clear用法及代码示例
- Python Django Right用法及代码示例
- Python Django RelatedManager.create用法及代码示例
- Python RLock release()用法及代码示例
- Python Django RelatedManager.add用法及代码示例
- Python Django Response.resolver_match用法及代码示例
- Python Django Response.context用法及代码示例
- Python Django RedirectView用法及代码示例
- Python Django Round用法及代码示例
- Python Django RequireDebugFalse用法及代码示例
注:本文由纯净天空筛选整理自djangoproject.com大神的英文原创作品 django.forms.RadioSelect。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。