2012-12-22 3 views
0

django-crispy로 렌더링하는 modelform_formset이 있습니다. 양식의 레이아웃을 사용하는 내부 I는 다음과 같습니다django-crispy 및 formset 모델 인스턴스 사용

self.helper.layout = Layout(
    Field('remove', css_class="inline"), 
    HTML('{{ form.instance.user.get_full_name|title }} ({{ form.instance.user }})'), 
    Field('is_admin') 
) 

참고 {{form.instance}} - 제대로 바인딩을 렌더링하기 아니에요. 특정 모델에 대한 가치를 얻을 수있는 방법이 있습니까?

답변

0

나는 이것을 권장합니다. 이렇게하면 인스턴스가없는 경우 캡처 : D를

class XYXForm(forms.ModelForm): 
    def __init__(self, *args, **kwargs): 
     super(XYXForm, self).__init__(*args, **kwargs) 
     label = "New Object" 
     if self.instance: 
      label = '{0} {1}'.format(
       self.instance.user.get_full_name.capitalize(), 
       self.instance.user) 
     self.helper = FormHelper() 
     self.helper.form_id = 'community_form' 
     self.helper.form_method = 'post' 
     self.helper.layout = Layout(
      Field('remove', css_class="inline"), 
      HTML(label), 
      Field('is_admin') 
     ) 

HTH