Django:显示选择值

新手上路,请多包涵

模型.py:

 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)

意见.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)

On the template, when I call person.gender , I get 'M' or 'F' instead of 'Male' or 'Female' .

如何显示 'F' 'M' 'Male' 'Female'

原文由 Shankze 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 237
1 个回答

看起来你在正确的轨道上 - get_FOO_display() 肯定是你想要的:

templates 中,方法名称中不包含 () 。请执行下列操作:

 {{ person.get_gender_display }}

原文由 jMyles 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题