以人类可读格式显示选项字段
在网页上,这样显示:
状态:i
我怎么在 Django 模板中显示长名称 "Initiated" 呢?
在我的模板中:
<p>Status: {{ transaction.status }}</p>
models.py 文件
class Transaction(models.Model):
creator = models.SlugField()
amount = models.DecimalField(max_digits= 999,decimal_places =2,null= True,default=0)
accepted_by = models.SlugField()
oferto_slug = models.SlugField()
STATUSES = (
('i', 'Initiated'),
('a', 'Accepted'),
('d', 'Delivered'),
('c', 'Cancelled'),
)
status = models.CharField(choices=STATUSES, default='i',max_length=10)
views.py
def __init__():
self.state = 'i'
1 个回答
10
在你的模板中,可以试试这个:
<p>Status: {{ transaction.get_status_display }}</p>
你只需要在 get_
和 _display
之间加上合适的字段名称就可以了。(在模板中,方法名后面不需要加括号。)这样你就能获取到人类可读的形式。
可以查看 这里的文档。