将附加参数传递给 django_table2 TemplateColumn
Pass additional parameters to django_table2 TemplateColumn
在我的 django 项目中,我有很多 return 模型的表。最后一列主要是一个操作列,用户可以在其中编辑或删除实例。如果我想将其他参数传递给 TemplateColumn 如果在某些表中我想要一个编辑和删除按钮而在其他表中我只需要一个编辑和信息按钮,我该如何继续?我想使用相同的 template.html 但有条件。这是我在 Table:
中的内容
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
以及如何检查操作权限以便显示按钮?
A Template object is created [...] and rendered with a context containing:
record
– data record for the current row
value
– value from record that corresponds to the current column
default
– appropriate default value to use as fallback
row_counter
– The number of the row this cell is being rendered in.
- any context variables passed using the
extra_context
argument to TemplateColumn
.
所以你可以这样做:
my_column = tables.TemplateColumn(
template_name='core/actionColumnTable.html',
extra_context={
'edit_button': True,
}
)
上下文还包含调用 {% render_table %}
的模板的完整上下文。因此,如果您的 context_processors
中有 'django.template.context_processors.request'
,则可以使用 {{ request.user }}
.
访问当前用户
在我的 django 项目中,我有很多 return 模型的表。最后一列主要是一个操作列,用户可以在其中编辑或删除实例。如果我想将其他参数传递给 TemplateColumn 如果在某些表中我想要一个编辑和删除按钮而在其他表中我只需要一个编辑和信息按钮,我该如何继续?我想使用相同的 template.html 但有条件。这是我在 Table:
中的内容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
以及如何检查操作权限以便显示按钮?
A Template object is created [...] and rendered with a context containing:
record
– data record for the current rowvalue
– value from record that corresponds to the current columndefault
– appropriate default value to use as fallbackrow_counter
– The number of the row this cell is being rendered in.- any context variables passed using the
extra_context
argument toTemplateColumn
.
所以你可以这样做:
my_column = tables.TemplateColumn(
template_name='core/actionColumnTable.html',
extra_context={
'edit_button': True,
}
)
上下文还包含调用 {% render_table %}
的模板的完整上下文。因此,如果您的 context_processors
中有 'django.template.context_processors.request'
,则可以使用 {{ request.user }}
.