私はクリスピー フォームを使い始めたばかりで、フォームの記述方法にいくつかの不規則性があることに気付きました。
githubの例から、レイアウトは次のように記述されています
class MessageForm(forms.Form):
[...]
# Uni-form
helper = FormHelper()
helper.form_class = 'form-horizontal'
helper.layout = Layout(
Field('text_input', css_class='input-xlarge'),
Field('textarea', rows="3", css_class='input-xlarge'),
'radio_buttons',
Field('checkboxes', style="background: #FAFAFA; padding: 10px;"),
AppendedText('appended_text', '.00'),
PrependedText('prepended_text', '<input type="checkbox" checked="checked" value="" id="" name="">', active=True),
PrependedText('prepended_text_two', '@'),
'multicolon_select',
FormActions(
Submit('save_changes', 'Save changes', css_class="btn-primary"),
Submit('cancel', 'Cancel'),
)
)
そして、彼らのドキュメントの一部
class ExampleForm(forms.Form):
[...]
def __init__(self, *args, **kwargs):
self.helper = FormHelper()
self.helper.layout = Layout(
Fieldset(
'first arg is the legend of the fieldset',
'like_website',
'favorite_number',
'favorite_color',
'favorite_food',
'notes'
),
ButtonHolder(
Submit('submit', 'Submit', css_class='button white')
)
)
super(ExampleForm, self).__init__(*args, **kwargs)
def __init__(self, *args, **kwargs):
ドキュメント内の例での行の使用を見て混乱しています。最初の例で示した方法を使用してフォームを簡単に定義できるのに、なぜそれを使用するのでしょうか。それらのいずれかに利点/欠点はありますか?