Django:显示选择值

问题:

模型:

class Person(models.Model):
    name = models.CharField(max_length=200)
    CATEGORY_CHOICES = (
            ('M','Male'),
            ('F','Female'),
            )
    gender = models.CharField(max_length=200, choices = CATEGORY_CHOICES)
    to_be_listed = models.BooleanField(default=True)
    description = models.CharField(max_length=20000, blank=True)

views.py:

def index(request):
    latest_person_list2 = Person.objects.filter(to_be_listed=True)
    return object_list(request, template_name='polls/schol.html',queryset=latest_person_list, paginate_by=5)

在模板上,当我打电话给person.gender,我得到’M’或’F’而不是’男’或’女’。
如何显示值(’Male’或’Female’)而不是代码(M / F)?

回答:

看起来你在正确的轨道上 – get_FOO_display()绝对是你想要的:
在模板中,不要在方法的名称中包含()。执行以下操作:

  {{ person.get_gender_display }}

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: Django: Display Choice Value

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

70 − = 67