2017-05-19 51 views
1

我开始使用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

当您从代码生成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

相关问题