【问题标题】:Django forms + list of checkboxes + list of radiobuttonsDjango 表单 + 复选框列表 + 单选按钮列表
【发布时间】:2010-12-08 06:28:07
【问题描述】:

您知道如何更改此复选框代码列表吗:

<p>How did you reach this site? <select name="howreach">
<option value="0" selected="selected">Choose one...</option>
<option value="1">Typed the URL directly</option>
<option value="2">Site is bookmarked</option>
<option value="3">A search engine</option>
<option value="4">A link from another site</option>
<option value="5">From a book</option>
<option value="6">Other</option>
</select></p>

到 django 表单?

以及如何将其更改为 Django 表单中的单选按钮列表?:

Poor <input type="radio" name="rating" value="1" /> 1 
<input type="radio" name="rating" value="2" /> 2 
<input type="radio" name="rating" value="3" /> 3 
<input type="radio" name="rating" value="4" /> 4 
<input type="radio" name="rating" value="5" /> 5 Excellent</p>

【问题讨论】:

    标签: django checkbox django-forms radiobuttonlist


    【解决方案1】:

    在你的 python 代码中:

    class SiteReach(forms.Form):
        howreach = forms.ChoiceField(label = "How did you reach this site?",
                                     choices = HOWREACH_CHOICES, 
                                     widget = forms.widgets.CheckboxInput())
    

    您必须自己初始化 HOWREACH_CHOICES;它是一个元组列表,(选项值,选项字符串)。

    您以相同的方式呈现单选按钮:

    class Rating(forms.Form):
        rating = forms.ChoiceField(choices = range(1,6),
                                   widget = forms.widgets.RadioSelect())
    

    阅读关于 Widgets 的文档;那里有一个完整的实用世界。

    【讨论】:

    • 好的,非常感谢,我制作了这样的复选框,但我不确定它是否正确。非常感谢!
    • 在最近的 Django 版本中,forms.widgets.CheckboxInput() 应替换为 forms.widgets.CheckboxSelectMultiple()
    猜你喜欢
    • 1970-01-01
    • 2022-12-22
    • 2012-12-14
    • 2012-03-01
    • 1970-01-01
    • 2012-05-15
    • 1970-01-01
    相关资源
    最近更新 更多