处理django-tables2

时间:2017-05-19 09:17:09

标签: django django-tables2

我开始使用django-tables2并添加了一个列,允许用户在用户点击按钮时删除记录。代码如下:

class ReviewTable(tables.Table):

    delete = tables.LinkColumn('review_delete', args=[tables.A('pk')], orderable=False,
                               empty_values=(), verbose_name='')

    def render_delete(self, record):
        url = static('remove.png')
        href = '#'
        return mark_safe('<a href="' + href + '" Delete><img src="' + url + '"></a>')

这基本上可以使列中的图像正常,但我所能做的只是设置它的链接。如何让它调用一些方法,然后我可以通过记录ID过滤并删除相关记录?这是正确的方法吗?

1 个答案:

答案 0 :(得分:2)

从代码生成HTML时,您仍然可以访问onclick事件。

return mark_safe('<a href="{0}" Delete class="delete" onclick='delete_action()'><img src="{1}"></a>'.format(href, url)

现在您的delete_action可以是一个javascript函数,可以让您获得更多控制权。生成的HTML基本上只是任何旧类型的HTML,因此您仍然可以使用jquery event handlers

顺便说一句,请注意如何使用字符串格式代替串联。这更像是pythonic