2013-09-05 8 views
12

テンプレート内の個々のフィールドのレンダリングに問題があります。私はmultichoiceウィジェットとCharfieldをレンダリングするカスタムフォームを持っています。私はウィジェットとCharfieldを個別にレンダリングしたいので、Charfieldを下部ではなくウィジェットの右側に置くことができます(これはDjangoがデフォルトで行うものです)。フォーム内の個々のフィールドをテンプレートで呼び出す方法はありますか?テンプレートの個々のフィールドをカスタムフォームでレンダリングする

forms.py

class UpdateStateOptionWithOutcomesForm(forms.ModelForm): 

    def __init__(self, *args, **kwargs): 
     disease=kwargs.pop('disease', None) 
     super(UpdateStateOptionWithOutcomesForm, self).__init__(*args, **kwargs) 
     self.fields['relevantoutcome']=forms.ModelMultipleChoiceField(queryset=Outcome.objects.filter(relevantdisease_id=disease),required=True, widget=forms.CheckboxSelectMultiple) 
     self.fields['relevantoutcome'].label="Treatment Outcomes" 

     outcome_qs=Outcome.objects.filter(relevantdisease_id=disease) 
     for outcome in outcome_qs: 
     self.fields['outcomevalue_%s' % outcome.pk] = forms.CharField(required=False) 
     self.fields['outcomevalue_%s' % outcome.pk].label = "Outcome Value" 

答えて

16

{{ form.fieldname }}その名前で唯一のフィールドウィジェットをレンダリングします。

Customizing the form templateを確認してください。

関連する問題