我开始使用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过滤并删除相关记录?这是正确的方法吗?
答案 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