2

フォームのフィールド レンダリングについて質問があります。私はこのコードを持っています:

class RTForm(forms.ModelForm):

    type_options = {
        'error': {
            'label': _('Error'),
        },
        'warning': {
            'label': _('Warning'),
        },
        'off': {
            'label': _('Disable'),
        }
    }

    choice_type = forms.ChoiceField(
        choices=[(k, v['label']) for k, v in type_options.items()],
        required=True, widget=forms.RadioSelect(
            attrs={
                class="choices"
            }
        )
    )

    class Meta:
        model = RT

    def __init__(self, *args, **kwargs):
        self.rt = kwargs.pop('instance', None)

        errors = create_error_list(rt.type)
        warnings = create_warning_list(rt.type)

        super(RTV, self).__init__(*args, **kwargs)

私がやりたいことは、init内のリストに返されるエラー/警告の数と同じ数のchoice_typeフィールドをテンプレートに持つことです(毎回異なる数)。それは可能ですか?考えられる解決策がわかりません。

4

1 に答える 1