如何在Django Tables 2 Link Column中更改显示文本

时间:2015-10-17 07:37:17

标签: django django-templates django-tables2

我正在使用django表2来列出项目,我正在尝试使用模型中的主键添加带有超链接的列到另一个页面(编辑详细信息页面)以及所选行详细信息。
我在这里使用了一个链接列(链接打开了预期页面),但它在列中显示 itemid ,而我想要显示一个显示文本标记为“编辑”的链接。可以帮助我如何做到这一点?我想模仿 int delay = 1000; int period = 1000; timer = new Timer(); interval = Integer.parseInt("10"); timer.scheduleAtFixedRate(new TimerTask() { public void run() { do{ if (interval == 1) if (interval == 1) timer.cancel(); --interval; String interv = Integer.toString(interval); timerTextField.setText("0:"+interv); if(interval==0){ --counter; newAttempt = Integer.parseInt(attemptTextField.getText()); newAttempt -= 1; String convert = Integer.toString(newAttempt); attemptTextField.setText(convert); if(counter==0) interval = Integer.parseInt("10"); } }while(newAttempt!=0); } }, delay, period); 行为

<a href="myurl"> Edit </a>

1 个答案:

答案 0 :(得分:1)

您可能已经解决了这个问题,但有一种更好的方法可以添加自定义文字而不是使用TemplateColumn,而且功能实际上已内置于LinkColumn。要添加编辑字符串:

# tables.py
class MyItemsTable(tables.Table):
    itemid = tables.LinkColumn('myapp.views.edit_item', 
                    args=[A('pk')], orderable=False, text='Edit')
class Meta:
    model = models.MyItems
    attrs = {"class": "paleblue"}

您可以使用text=lambda record: 'edit-{0}'.format(record.name)之类的内容将字符串动态化为您想要的任何内容。看看documentation