在我的django项目中,我有很多表返回模型。最后一列主要是Action-Column,用户可以在其中编辑或删除实例。如果我想将其他参数传递给TemplateColumn,如果在某些表中我想要一个编辑和删除按钮,在其他表中我只需要一个编辑和信息按钮,我该如何继续?我想使用相同的template.html但有条件。这就是我在表格中的内容:
import django_tables2 as tables
from select_tool.models import DefactoCapability
class DefactoCapabilityTable(tables.Table):
my_column = tables.TemplateColumn(verbose_name='Actions', template_name='core/actionColumnTable.html')
class Meta:
model = DefactoCapability
template_name = 'django_tables2/bootstrap-responsive.html'
attrs = {'class': 'table table-xss table-hover'}
exclude = ( 'body', )
orderable = False
如何检查操作的权限以显示按钮?
答案 0 :(得分:2)
创建一个Template对象,并使用包含以下内容的上下文进行渲染:
record
- 当前行的数据记录value
- 与当前列对应的记录值default
- 用作后备的适当默认值row_counter
- 呈现此单元格的行数。- 使用
extra_context
参数传递给TemplateColumn
的任何上下文变量。
所以你可以这样做:
my_column = tables.TemplateColumn(
template_name='core/actionColumnTable.html',
extra_context={
'edit_button': True,
}
)
上下文还包含调用{% render_table %}
的模板的完整上下文。因此,如果'django.template.context_processors.request'
中有context_processors
,则可以使用{{ request.user }}
访问当前用户。