使用 djang-tables2 自定义表作为:
表.py:
import django_tables2 as tables
from django_tables2.utils import A
from .models import Person
class PersonTable(tables.Table):
view_column = tables.LinkColumn('person:pessoas_detail', args=[A('pk')])
class Meta:
model = Person
Run Code Online (Sandbox Code Playgroud)
视图.py:
from .models import Person
class ListView(SingleTableView):
model = Person
table_class = PersonTable
Run Code Online (Sandbox Code Playgroud)
我需要检查 view_column 上的 FOO 权限。因为 view_column 是一个类属性,我不能使用装饰器作为@permission_required。
可能我可以调用除 tables.LinkColumn 之外的其他内容来测试权限,然后返回该列。但是,为了做到这一点,我需要访问用户对象(可能来自请求对象),此时我无权访问。
有没有更简单的方法来做到这一点?
基本上,这个想法是仅在有权限访问或根本不显示时才显示列。
python django permissions django-class-based-views django-tables2