4

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>

これを使用してビューをチェックアウトすると、コロン ( :) の後にテキストフィールドが表示されます: ラベルがなくなりました。

のドキュメントによるとModelForm

さらに、生成された各フォーム フィールドには、次のように設定された属性があります。

  • ...

  • フォーム フィールドのラベルはverbose_name、モデル フィールドの最初の文字を大文字にして設定されます。

私が犯した間違いは何ですか?

問題がある場合は、Django 1.4.1 を使用しています。

4

2 に答える 2