我想在通过输入状态字段的第一个字母输入产品信息时在网站上写下整个单词。但这里它接收到的信息是正确的,但是只显示网页上的第一个字母。
class Product(models.Model):
choice = (
('d', 'Dark'),
('s', 'Sweet'),
)
user = models.CharField(max_length=64)
title = models.CharField(max_length=64)
description = models.TextField()
category = models.CharField(max_length=64)
first_bid = models.IntegerField()
image = models.ImageField(upload_to="img/", null=True)
image_url = models.CharField(max_length=228, default = None, blank = True, null = True)
status = models.CharField(max_length=1, choices= choice)
active_bool = models.BooleanField(default = True)
def __str__(self):
return self.get_status_display()
这是显示该字段的方式之一。
<a><a>Status: </a>{{ product.status }}</a><br>
只需使用
{{ product.get_status_display }}
,jinja 就会自动调用该方法并显示它的值。
在视图上下文中,您将使用
product.get_status_display()
。查看 Django 文档 来了解它。