<p>1)所以您可以简单地覆盖<code>yesno</code>,默认值是“✔,✘(它只是<code>str</code>):</p>
<pre><code>some_name = BooleanColumn(yesno='1,2')
</code></pre>
<p>或删除文本:</p>
^{pr2}$
<p>2)使用<code>css</code>可以指定自定义图像(不要忘记设置<code>yesno=','</code>):</p>
<pre><code>span.true {
background: url(../img/true.gif) top center no-repeat;
}
span.false {
background: url(../img/false.gif) top center no-repeat;
}
</code></pre>
<p>3)为<code>span</code>指定一些额外的属性(但是<strong>不要</strong>指定<code>class</code>!)公司名称:</p>
<pre><code>some_name = BooleanColumn(attrs={'span': {'style': 'color:blue'}})
</code></pre>
<p>4)如果出于某些原因您想要更改默认的类设置行为(<code>true</code>或<code>false</code>),您应该重写<code>BooleanColumn</code>及其方法<code>render</code></p>
<pre><code>from django.utils.html import escape
from django.utils.safestring import mark_safe
from django_tables2.utils import AttributeDict
class CustomBooleanColumn(BooleanColumn):
def render(self, value):
value = bool(value)
text = self.yesno[int(not value)]
html = '<span %s>%s</span>'
class_name = 'some_class_false'
if value:
class_name = 'some_class_true'
attrs = {'class': 'class_name'}
attrs.update(self.attrs.get('span', {}))
return mark_safe(html % (AttributeDict(attrs).as_html(), escape(text)))
</code></pre>
<p>覆盖你的领域</p>
<pre><code>some_name = CustomBooleanColumn(yesno=',')
</code></pre>