如何在 django-tables2 的列前添加 space 和 $
How to add space and $ in front of column in django-tables2
我的 django table 中有两个美元列,但是,我不喜欢这种间距,而且它紧挨着前一列。我还想添加一个美元符号。我怎样才能添加这个?
现在看起来像这样:
Price1Price2
345.09 154.35
我希望它看起来像这样:
Price1 Price2
5.09 4.35
我的 django table 是基本的:
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)
还有一个问题,在table下面有没有django-tables2 table描述函数或者可以轻松添加关于table的信息的东西?
此代码基于 Dan 的精彩回答!他使用以下代码使它能够处理来自同一 table 的数据:
class Price1Column(tables.Column):
def render(self, record):
return ' ${}'.format(record.price1)
现在我想要另一个 table - 服务的专栏,但这不起作用:
class Price2Column(tables.Column):
def render(self, record):
return ' ${}'.format(record.tables.Column(accessor='service.price2'))
class Meta:
model = Price
这是服务的模型,它通过代码连接到价格。 tables.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
根据 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()
我的 django table 中有两个美元列,但是,我不喜欢这种间距,而且它紧挨着前一列。我还想添加一个美元符号。我怎样才能添加这个?
现在看起来像这样:
Price1Price2
345.09 154.35
我希望它看起来像这样:
Price1 Price2
5.09 4.35
我的 django table 是基本的:
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)
还有一个问题,在table下面有没有django-tables2 table描述函数或者可以轻松添加关于table的信息的东西?
此代码基于 Dan 的精彩回答!他使用以下代码使它能够处理来自同一 table 的数据:
class Price1Column(tables.Column):
def render(self, record):
return ' ${}'.format(record.price1)
现在我想要另一个 table - 服务的专栏,但这不起作用:
class Price2Column(tables.Column):
def render(self, record):
return ' ${}'.format(record.tables.Column(accessor='service.price2'))
class Meta:
model = Price
这是服务的模型,它通过代码连接到价格。 tables.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
根据 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()