python - 根据支付计划限制 django rest framework api
问题描述
我有一些由管理员用户执行的动态添加的功能,我将与某些端点相关联。
解决这个问题的好方法是什么?
问题是我该如何做这个关联?
解决方案
我做了以下事情:
1)建立一些代表我所知道的“特征”的常量字符串。IE:
- 壮举1 ='f1'
- 壮举2 ='f2'
2) 使用它来将 FEATURE_CHOICES 创建到特征模型中。(这将由管理员用户动态创建。这些用户将关联相应的选择,并添加额外的代表性元数据,这对用户代理很有用。
FEATURE_CHOICES = ((feat1, 'Awesome feature'), (feat2, 'Just a regular feature'))
3)在我看来,将相应的值添加为类变量:api_feature = feat1
4) 创建了一个自定义的 DRF 权限类,该类实现了一个 has_feature 函数,该函数检查用户的计划是否具有此类请求的功能。
这是我现在实施的解决方案。所有常量都由 django-decouple 管理。
推荐阅读
- http - Http 触发的 azure 函数中的异常处理 - 更好地控制 JSON 内容响应
- node.js - 当文件上传到服务器时,Webservice 做一些事情
- azure-service-fabric - 使用 PowerShell 的 Service Fabric 群集创建错误
- azure - Azure Active Directory 和 Azure Active Directory 域服务有什么区别?
- c# - StreamReader 的 API 请求正文在 1024 个字符处被截断
- javascript - 如何在 Outlook 插件中修改 office.js 反应元素?
- flutter - FutureBuilder 使我的应用程序冻结,因为它在构建之前等待文件加载
- filter - 在 Google 表格中查找 QR 码单元格返回空
- r - log(obs$y) 中的错误:数学函数的非数字参数
- vue.js - Vue - 计算过滤列表更改时触发动画