处理 django-tables2 中的点击事件

Handle a click event in 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>')

这基本上使图像在一列中很好,但我所能做的就是将 link 设置为它。我怎样才能让它调用一些方法,然后我可以按记录 ID 过滤并删除相关记录?这是执行此操作的正确方法吗?

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