【问题标题】:Radiobutton in instances of Django ModelChoiceFieldDjango ModelChoiceField 实例中的单选按钮
【发布时间】:2016-05-25 06:13:31
【问题描述】:

我正在尝试使用模板中的实例手动呈现 ModelChoiceField。这工作正常,但我无法在最后一个单元格中添加单选按钮。如何添加单选按钮?

forms.py:

class SubmissionForm(forms.Form):
      name = forms.CharField(max_length=100)
      spl_candidates = forms.ModelChoiceField(queryset=Candidate.objects.filter(category="SPL"),
                                        widget=forms.RadioSelect,
                                        empty_label=None)

模板

    <table>
        {% for data in form.spl_candidates.field.queryset %}
        <tr>
            <td>
                {{ data.name }}
            </td>
            <td>
                {{ data.description }}
            </td>
            <td>

            </td>
        </tr>
        {% endfor %}
    </table>

【问题讨论】:

    标签: django forms django-forms


    【解决方案1】:

    添加一个自定义 HTML 单选按钮来实现这一点,

    在您的模板中执行此操作,

        <table>
        {% for data in form.spl_candidates.field.queryset %}
        <tr>
            <td>
                {{ data.name }}
            </td>
            <td>
                {{ data.description }}
            </td>
            <td>
                <input type="radio" name="{{ data.name }}" value="{{ data.desc }}">
            </td>
        </tr>
        {% endfor %}
    </table>
    

    【讨论】:

    • 它确实显示了单选按钮,但它可以一起选择所有这些,这不是单选小部件的正常行为:P
    • 单选按钮的唯一标识符是name 属性,每当您的循环迭代一个新的{{ data.name }} 时就会出现,所以您不会有机会一起选择所有这些。
    猜你喜欢
    • 2013-09-07
    • 2014-03-28
    • 1970-01-01
    • 1970-01-01
    • 2021-11-14
    • 1970-01-01
    • 1970-01-01
    • 2013-12-08
    • 1970-01-01
    相关资源
    最近更新 更多