Django Rest Framework 不允许我拥有多个权限

2024-03-22

我的 Django Rest 框架和权限有问题。例如,DRF 不允许我对我的观点拥有多个权限。

如果我以管理员用户身份登录 API,我可以使用此 mixin 进行访问:

class PermissionMixin(object):
    permission_classes = (permissions.IsAdminUser)

现在,如果我添加第二个权限混合:

class PermissionMixin(object):
    permission_classes = (permissions.IsAdminUser, TokenHasReadWriteScope)

管理员用户被拒绝访问。应该发生的情况是管理员用户和具有令牌的用户都可以访问,但是现在只有 TokenHasReadWriteScope 用户可以访问。

还有其他人遇到过这个问题吗,这是怎么回事?

我需要两种类型的用户都有访问权限。

这就是我的观点:

class SomeList(PermissionMixin, generics.ListCreateAPIView)

    queryset = Award.objects.all()
    serializer_class = AwardSerializer

PS TokenHasReadWriteScope 来自django-oauth-工具包 https://django-oauth-toolkit.readthedocs.org/en/0.4.1/rest-framework/permissions.html


With Django Rest Framework 3.9 及以上版本 https://www.django-rest-framework.org/community/3.9-announcement/#composable-permission-classes,它们内置了对可组合权限类的支持,您可以立即使用和/或运算符:

permission_classes = [IsAuthenticated & (ReadOnly | IsAdmin)]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django Rest Framework 不允许我拥有多个权限 的相关文章

  • Python 的键盘中断不会中止 Rust 函数 (PyO3)

    我有一个使用 PyO3 用 Rust 编写的 Python 库 它涉及一些昂贵的计算 单个函数调用最多需要 10 分钟 从 Python 调用时如何中止执行 Ctrl C 好像只有执行结束后才会处理 所以本质上没什么用 最小可重现示例 Ca
  • 将 saxon 与 python 结合使用

    我需要使用 python 处理 XSLT 目前我正在使用仅支持 XSLT 1 的 lxml 现在我需要处理 XSLT 2 有没有办法将 saxon XSLT 处理器与 python 一起使用 有两种可能的方法 设置一个 HTTP 服务 接受
  • OpenCV Python cv2.mixChannels()

    我试图将其从 C 转换为 Python 但它给出了不同的色调结果 In C Transform it to HSV cvtColor src hsv CV BGR2HSV Use only the Hue value hue create
  • Python(Selenium):如何通过登录重定向/组织登录登录网站

    我不是专业程序员 所以请原谅任何愚蠢的错误 我正在做一些研究 我正在尝试使用 Selenium 登录数据库来搜索大约 1000 个术语 我有两个问题 1 重定向到组织登录页面后如何使用 Selenium 登录 2 如何检索数据库 在我解决
  • 使用带有关键字参数的 map() 函数

    这是我尝试使用的循环map功能于 volume ids 1 2 3 4 5 ip 172 12 13 122 for volume id in volume ids my function volume id ip ip 我有办法做到这一点
  • 使用 matplotlib 绘制时间序列数据并仅在年初显示年份

    rcParams date autoformatter month b n Y 我正在使用 matpltolib 来绘制时间序列 如果我按上述方式设置 rcParams 则生成的图会在每个刻度处标记月份名称和年份 我怎样才能将其设置为仅在每
  • Python - StatsModels、OLS 置信区间

    在 Statsmodels 中 我可以使用以下方法拟合我的模型 import statsmodels api as sm X np array 22000 13400 47600 7400 12000 32000 28000 31000 6
  • django.db.utils.ProgrammingError:关系“django_content_type”不存在

    我有一个项目 我在我的电脑上慢慢建立起来 并且运行良好 我只是想将它放到服务器上 但收到此错误 django db utils ProgrammingError 关系 django content type 确实 不存在 我无法解决这个问题
  • 从字符串中删除识别的日期

    作为输入 我有几个包含不同格式日期的字符串 例如 彼得在16 45 我的生日是1990年7月8日 On 7 月 11 日星期六我会回家 I use dateutil parser parse识别字符串中的日期 在下一步中 我想从字符串中删除
  • 如何在 Python 中检索 for 循环中的剩余项目?

    我有一个简单的 for 循环迭代项目列表 在某些时候 我知道它会破裂 我该如何退回剩余的物品 for i in a b c d e f g try some func i except return remaining items if s
  • 如何替换 pandas 数据框列中的重音符号

    我有一个数据框dataSwiss其中包含瑞士城市的信息 我想用普通字母替换带有重音符号的字母 这就是我正在做的 dataSwiss Municipality dataSwiss Municipality str encode utf 8 d
  • SQLALchemy .query:类“Car”的未解析属性引用“query”

    我有一个这里已经提到的问题https youtrack jetbrains com issue PY 44557 https youtrack jetbrains com issue PY 44557 但我还没有找到解决方案 我使用 Pyt
  • 添加不同形状的 numpy 数组

    我想添加两个不同形状的 numpy 数组 但不进行广播 而是将 缺失 值视为零 可能最简单的例子是 1 2 3 2 gt 3 2 3 or 1 2 3 2 1 gt 3 2 3 1 0 0 我事先不知道形状 我正在弄乱每个 np shape
  • Pygame:有没有简单的方法可以找到按下的任何字母数字的字母/数字?

    我目前正在开发的游戏需要让人们以自己的名义在高分板上计时 我对如何处理按键有点熟悉 但我只处理过寻找特定的按键 有没有一种简单的方法可以按下任意键的字母 而不必执行以下操作 for event in pygame event get if
  • 将图像分割成多个网格

    我使用下面的代码将图像分割成网格的 20 个相等的部分 import cv2 im cv2 imread apple jpg im cv2 resize im 1000 500 imgwidth im shape 0 imgheight i
  • 如何在seaborn displot中使用hist_kws

    我想在同一图中用不同的颜色绘制直方图和 kde 线 我想为直方图设置绿色 为 kde 线设置蓝色 我设法弄清楚使用 line kws 来更改 kde 线条颜色 但 hist kws 不适用于显示 我尝试过使用 histplot 但我无法为
  • 有没有办法检测正在运行的代码是否正在上下文管理器内执行?

    正如标题所述 有没有办法做到这样的事情 def call back if called inside context print running in context else print called outside context 这将
  • Rocket UniData/UniVerse:ODBC 无法分配足够的内存

    每当我尝试使用pyodbc连接到 Rocket UniData UniVerse 数据时我不断遇到错误 pyodbc Error 00000 00000 Rocket U2 U2ODBC 0302810 Unable to allocate
  • Python 类继承 - 诡异的动作

    我观察到类继承有一个奇怪的效果 对于我正在处理的项目 我正在创建一个类来充当另一个模块的类的包装器 我正在使用第 3 方 aeidon 模块 用于操作字幕文件 但问题可能不太具体 以下是您通常如何使用该模块 project aeidon P
  • 导入错误:没有名为 site 的模块 - mac

    我已经有这个问题几个月了 每次我想获取一个新的 python 包并使用它时 我都会在终端中收到此错误 ImportError No module named site 我不知道为什么会出现这个错误 实际上 我无法使用任何新软件包 因为每次我

随机推荐

  • 使用各种方法无法使系统蜂鸣声在 C 中工作

    我已经尝试过 a 7 windows h 蜂鸣功能等 但没有任何效果 较新的硬件没有内置此功能吗 控制台程序 较新的硬件需要为残障人士提供蜂鸣声 但 Windows 7 移动了Beep 进入实际的 Windows 音频子系统 因此请确保您的
  • 测试两个列表列表是否相等

    假设我在 Python 中有两个列表 l1 a 1 b 2 c 3 l2 b 2 c 3 a 1 测试它们是否相等的最优雅的方法是什么 l1只是元素的一些排列l2 注意对普通列表执行此操作see here https stackoverfl
  • 在采用多个可选参数的方法中,如何指定除第一个参数之外的任何参数?

    我有一个这样的方法 def foo fruit apple cut sliced topping ice cream some logic here end 我怎样才能调用它 我只覆盖顶部参数 但使用其他参数的默认值 像这样 foo hot
  • 导入使用 MultiProcessing Python 的模块

    我希望使用多处理模块来加快某些运输规划模型的运行时间 我已经通过 正常 方法尽可能多地进行了优化 但其核心是一个荒谬的并行问题 例如 对 4 组不同的输入执行同一组矩阵运算 所有信息都是独立的 伪代码 for mat1 mat2 mat3
  • 在 Java Servlet 中生成 HTML 响应

    如何在 Java servlet 中生成 HTML 响应 通常 您会将请求转发到 JSP 进行显示 JSP 是一种视图技术 它提供了一个用于编写普通 HTML CSS JS 的模板 并提供了借助标签库和 EL 与后端 Java 代码 变量进
  • 折线百分比的纬度

    如何沿折线返回给定百分比的 latLng 值 我花了一天时间使用插值和单个节点来完成此任务 他们是不是有一个更简单的函数可以让 grunt 工作 谷歌地图 API v3 谢谢 http www geocodezip com scripts
  • 是否可以在 java jit 上使用 Final boolean 删除跳转?

    正如我们所知 有些人说 java JIT 比 C 更快 我有一些想法 可以利用 JIT 并在运行时代码中删除一些指令 这是我尝试过的示例代码 Created by kadirbasol on 4 6 14 public class Remo
  • jqplot 不同折线图的荧光笔

    我有一系列折线图jqPlot图表 我想要做的是关闭所有图表的突出显示 除了我想要突出显示的一张图表 我怎样才能做到这一点 我还没有一个很好的例子来说明如何做到这一点 也没有时间做一个 但我会在完成时更新 在所有事件中 荧光笔插件都会为每个系
  • PrestaShop:生产前删除所有测试数据

    我正在搜索一个在 MySql 上运行的脚本 以删除 截断表 PrestaShop 数据库版本 1 4 9 上的所有测试数据 客户 订单 购物车等 感谢 帕斯卡 安装 Prestashop Cleaner 并在配置中您可以选择删除目录 订单和
  • RestAssured:如何禁用 PreAuthorize

    我正在使用 RestAssured 测试 API 我调用的方法使用下一个注释 PreAuthorize hasAnyRole ROLE1 ROLE2 ROLE3 我的测试类包含用于测试的活动配置文件 对于测试配置 我们使用 yaml 文件
  • 在 AngularJS 中使用“scope”从另一个控制器调用一个控制器的方法

    我试图通过使用在第一个控制器中调用第二个控制器的方法scope多变的 这是我的第一个控制器中的方法 scope initRestId function var catapp document getElementById SecondApp
  • Haskell 中的字符串格式化

    Haskell 相当于什么 string str string Format 0 1 10 20 C 有一个Printf https hackage haskell org package base docs Text Printf htm
  • 如何制作多列无序列表?

    我正在尝试创建一个如下所示的项目列表 主要要求是列表应该灵活 可以在不接触代码的情况下添加或删除列表项 到目前为止我发现的最好的解决方案是将所有列表项 包括标题 放入 li 标记并使用本文中介绍的技术之一对其进行样式设置分开列出文章 htt
  • 重写 URL 并使新 URL 显示在地址栏中

    我使用下面的代码来重写一些 URL RewriteEngine On Options FollowSymlinks RewriteBase RewriteRule New Hampshire a zA Z0 9 s html NH 请记住
  • 如何在 DLL 边界上公开 STL 列表?

    我有一个 DLL 需要访问主机应用程序中 STL 容器中存储的数据 因为 C 没有标准的 ABI 而且我想支持不同的编译器 所以应用程序和 DLL 之间的接口基本上必须保持普通旧数据 对于向量来说 这相对简单 您可以简单地返回向量的内存块
  • 如何在Python中的setup.py中包含并安装本地依赖项?

    我正在创建一个setup py分发我的应用程序 该应用程序有许多可以通过 pip 安装的依赖项 它还有一些无法从 PyPI 安装的自定义依赖项 所以 我创建了一个custom package 0 1 whl它将包含在发行版中 并且必须在之后
  • XMPP - 名册订阅说明

    假设我的 Jabber 服务器上有 2 个用户 Alice 和 Bob 添加到名册中并订阅为both 我需要执行以下步骤 Alice 向 Bob 发送订阅请求 当 Bob 收到请求时 他会批准该请求 Bob 可能也对 Alice 的存在感兴
  • 将 2 个参数 Lambda 表达式转换为 1 个参数 Lambda 表达式(指定一个参数)

    我有表情 Expression
  • PHP-从字符串中删除所有制表符

    我可以从字符串中删除所有单个选项卡 Copying and pasting the tab directly txt str replace txt 这只会删除单个选项卡 但不会删除双选项卡 然后我尝试了这个 认为 t 足以找到选项卡 tx
  • Django Rest Framework 不允许我拥有多个权限

    我的 Django Rest 框架和权限有问题 例如 DRF 不允许我对我的观点拥有多个权限 如果我以管理员用户身份登录 API 我可以使用此 mixin 进行访问 class PermissionMixin object permissi