私はモデルからすべてのフィールドと値を表示するためのテンプレートを作った、それはこのようになりますを示し、そして、関数が宣言:ジャンゴDetailViewテンプレートは、すべてのフィールドのget_FIELDNAME_display()の値
## models.py ##
Class Object:
GENDER_CHOICES = (
('M', 'Male'),
('F', 'Female'),
)
name = models.CharField(verbose_name=u"Full name", max_length=200, blank=True, null=True)
sex = models.CharField(verbose_name=u"Sex", max_length=1, choices=GENDER_CHOICES)
birthdate = models.DateField(verbose_name=u"Birth date", help_text="Format: DD/MM/AAAA", blank=True, null=True)
status = models.IntegerField(verbose_name=u"Status", db_index=True, default=1)
#...tons of other fields...
def get_status_display(self):
if self.status == 1:
return "Active"
else if self.status == 0:
return "Inactive"
else:
return "Dead"
def get_birthdate_display(self):
return self.birthdate.strftime("%d/%m/%Y")
def get_fields(self):
return [(field.verbose_name, self._get_FIELD_display(field)) for field in self.__class__._meta.fields]
*何すでに表示していることである。
フルネーム:使用できません(私は空白のままにするので)
セックス:(代わりにMの)男性
生年月日:2012年4月10日(NOT get_birthdate_displayで返される形式)
状況:3(get_status_displayに返されない文字列)
*私は何を表示したいことです:
フルネーム:利用できないセックス
(私は空白のままに理由):(代わりにMの)男性
生年月日:20/10/1952(get_birthdate_displayでフォーマットを持つ)
ステータス:デッド(文字列がget_status_displayに戻りました)
だから私は、手動で何かやってないものがあるときget_FIELDNAME_displayを取得したい:私は任意の助けに感謝
<p>
<label>{% trans 'Full name' %}:</label>
<span>{{ object.name|default:"Not available" }}</span>
</p>
<p>
<label>{% trans 'Sex' %}:</label>
<span>{{ object.get_sex_display|default:"Not available" }}</span>
</p>
<p>
<label>{% trans 'Birth Date' %}:</label>
<span>{{ object.get_birthdate_display|default:"Not available" }}</span>
</p>
<p>
<label>{% trans 'Status' %}:</label>
<span>{{ object.get_status_display|default:"Not available" }}</span>
</p>
が! TKS
を追加しました '()'のgetattr '後(自己、 "のget_%s_display" %名)'。あなたはそれらが必要だと思う - しかし、私はこれをテストしていない。 – dgel