django 单选按钮在 <ul> 内部显示

0 投票
3 回答
1738 浏览
提问于 2025-04-17 06:33

我用 Django 的表单模板动态生成我的 HTML,其他都没问题,就是单选按钮显示在一个 <ul><li> 里面,这种格式我不喜欢。我想改变这个格式,只想让单选按钮并排显示。

3 个回答

1

要修改RadioSelect小部件,让它有自定义的布局,这里有一种方法可以做到这一点。

2

是的,你可以通过使用模板来渲染你的表单,而不需要使用CSS或自定义小部件。比如说:

{% for radio in myform.beatles %}
<div class="myradio">
    {{ radio }}
</div>
{% endfor %}

这段代码会生成以下的HTML:

<div class="myradio">
    <label><input type="radio" name="beatles" value="john" /> John</label>
</div>
<div class="myradio">
    <label><input type="radio" name="beatles" value="paul" /> Paul</label>
</div>
<div class="myradio">
    <label><input type="radio" name="beatles" value="george" /> George</label>
</div>
<div class="myradio">
    <label><input type="radio" name="beatles" value="ringo" /> Ringo</label>
</div>

如果你想了解得更详细,可以查看这个链接:https://docs.djangoproject.com/en/dev/ref/forms/widgets/#radioselect

2

你不需要去修改模板。只要改变一下CSS样式,就能把列表格式化成你想要的样子(比如横向排列的列表项)。这里有个例子: http://css.maxdesign.com.au/listamatic/horizontal01.htm

撰写回答