因此,对于我的项目,我试图为视图实现自定义权限。我在String tipo = "type_1";
lista.addAll(personas.stream()
.map(person -> new SimpleResultForm(tipo, person))
.collect(Collectors.toList()));
中创建了权限,如下所示:
permissions.py
非常简单,检查配置团队是否与您要求的团队页面匹配,如果不是这样,则检查用户是否阻止。
class TeamViewPermission(permissions.BasePermission):
"""
Global permission for viewing team pages
"""
def has_permission(self, request, view):
team_id = self.kwargs.get('team_id')
teamqs = MAIN_TEAMS.all()
pk_list = []
for item in MAIN_TEAMS:
pk_list.append(str(item.pk))
if team_id in pk_list:
return True
return False
:
views.py
我知道该页面应该返回True或False,因为我调试了它,虽然它没有阻止页面输出?它为页面返回False,但我仍然可以访问该页面,就像它返回True ..我在这里错过了什么?
答案 0 :(得分:2)
看起来您正在混合基于djangos类的视图和DRF视图。
ListView
是来自django而不是来自DRF的基于类的视图。因此,它不允许设置permission_classes
。
检查the docs以了解如何使用DRF API视图。