2013-06-24 3 views
4

나는이 다음과 같이 보이는 내 응용 프로그램에서 ModelForm 매우 간단한 :Django ModelForm에 레이블이 나타나지 않는 이유는 무엇입니까?

# ModelForm 
class ProductForm(ModelForm): 
    class Meta: 
     model = MyModel 
     exclude = ['created', 'last_modified', 'serial_number'] 

# Model 
class BaseModel(models.Model): 
    created = models.DateTimeField(auto_now_add=True, blank=True, null=True) 
    last_modified = models.DateTimeField(auto_now=True, blank=True, null=True) 

class MyModel(BaseModel): 
    product = models.TextField(verbose_name='Product Name') 
    serial_number = models.TextField(verbose_name='Serial Number') 

그리고 다음과 같습니다 형태 :이를 사용하여보기를 체크 아웃 할 때

# Form 
<form method="POST" action="{% url some_url %}"> 
    {% csrf_token %} 
    {{ formset.management_form }} 
    {% for form in formset %} 
     {% for field in form %} 
      {% if field.errors %} 
      <div>{{ field.errors }}</div> 
      {% endif %} 
      <div> 
       {{ field.label_tag }}: 
       {{ field }} 
      </div> 
     {% endfor %} 
    {% endfor %} 
    <div class="actions"> 
     <input class="button submit focus" type="submit" value="{% trans "Save" %}" /> 
    </div> 
</form> 

것은, 그냥 참조 콜론 (:) 다음에 텍스트 필드가옵니다. 레이블이 없습니다.

  • ...

  • 양식 필드의 레이블의 verbose_name 설정된다 :

    According to the documentation for ModelForm 다음과 같이 또한

    각 발생 형태 필드는 설정 속성을 가지고 첫 번째 문자가 대문자 인 모델 필드 내가 만든 어떤 실수

?

중요한 경우 Django 1.4.1을 사용하고 있습니다.

+0

이 말이 맞습니다. '{{field.label}} '을하면 어떻게됩니까? – karthikr

+0

아무것도; 같은 결과. – NT3RP

+0

'StoreTheme'이란 무엇입니까? 그 또 다른 수업인가요? –

답변

0

나는 아직도 날 각 행 형태의을 분리 할 수 ​​있음을 발견 할 수있는 유일한 솔루션은 다음을 수행했다 각 필드를 반복하는 대신

다른 나열된 솔루션 (또는 문서의 솔루션)이 작동하지 않는 이유는 무엇일까요? 당황 스럽습니다.

0

<label> 태그 안에 필드 라벨을 넣어야합니다. 그래서 다음 {{ formset.as_ul }}되는

<form method="POST" action="{% url some_url %}"> 
    {% csrf_token %} 
    {{ formset.as_ul }} 
    <div class="actions"> 
     <input class="button submit focus" type="submit" value="{% trans "Save" %}" /> 
    </div> 
</form> 

를 ... 주요 작품 :

<div> 
    <label for="id_{{field.html_name}}">{{field.label}}:</label> 
    {{ field }} 
</div> 
+0

둘 다 [문서와 모순됩니다] (https://docs.djangoproject.com/en/1.4/topics/forms/modelforms/#using-the-formset-in-the-template) 또한 작동하지 않습니다. 나는 단지 다음과 같은 레이블들을 얻는다 :'' – NT3RP

+0

나는 나를 위해 작동하는 오타가 있었다. 맞습니다. 설명서와는 다른 구현입니다. (_contradict_라고 말하지는 않겠지 만). – Basti

+1

오타 (예 : 누락 된 인용 부호)를 수정해도 여전히 작동하지 않습니다. 좀 더 정확하게, 당신이 제안한 것이 필요하지 않아야합니다 ('label_tag'가 작동해야 함). – NT3RP

관련 문제