我在django表中有两个dollar列,但是,我不喜欢空格和它就在前一列旁边的事实。我还想添加一个美元符号。如何添加呢?
现在看起来像这样:
Price1Price2
345.09 154.35
我希望它看起来像这样:
Price1 Price2
$345.09 $154.35
我的django表是基本的:
class PriceTable(tables.Table):
class Meta:
model = Price
template_name = 'django_tables2/bootstrap.html'
sequence = ('service', 'price1', 'price2')
exclude = ("comments")
attrs = {"class": "paleblue"}
这些列在models.py中的定义如下:
price1 = models.DecimalField(max_digits=6, decimal_places=2, blank=True)
price2 = models.DecimalField(max_digits=6, decimal_places=2, blank=True)
另一个问题,在表下是否有django-tables2表描述功能或可轻松添加有关表信息的内容?
此代码基于Dan的出色回答!他使用以下代码将其用于处理来自同一表的数据:
class Price1Column(tables.Column):
def render(self, record):
return ' ${}'.format(record.price1)
现在,我想要另一个表中的列-服务,但这不起作用:
class Price2Column(tables.Column):
def render(self, record):
return ' ${}'.format(record.tables.Column(accessor='service.price2'))
class Meta:
model = Price
这是服务的模型,它通过代码连接到Price。 table.Column(acessor =)行在Class PriceTable()中起作用。
class Service(models.Model):
serviceid = models.UUIDField(default=uuid.uuid4, help_text='Unique ID for this particular service in database')
desc_us = models.TextField(blank=True, primary_key = True)
code = models.IntegerField(default= 10000)
price2 = models.DecimalField(max_digits=8, decimal_places=2, blank=True)
class Meta:
ordering = ['serviceid']
def __str__(self):
"""String for representing the Model object."""
return self.desc_us
答案 0 :(得分:1)
根据docs,我认为这是您的操作方式:
class Price1Column(tables.Column):
def render(self, record):
return '${}'.format(record.price1)
class Price2Column(tables.Column):
def render(self, record):
return '${}'.format(record.price2)
class PriceTable(tables.Table):
# ...
price1 = Price1Column()
price2 = Price2Column()