问题标签 [django-rules]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
482 浏览

python - Django规则问题

我正在使用来自 Django 的规则库,我没有克服为特定菜单定义规则。

规则库在那里可用:规则库

admin在我的网络应用程序中登录。

我有一个这样的menus.py文件:

然后我在我的rules.py文件中定义:

它适用于动物菜单(它是 CRUD 部分)。但是当我尝试访问统计部分(这不是 CRUD)时,我有一个错误403 Access forbidden

我在我的代码中忘记了什么?

谢谢

0 投票
1 回答
305 浏览

django - 如何使 django-rules 在模板中工作?

使用Django-Rules时,您可以检查视图中的权限。但我的总是返回假。下面示例中的代码始终显示“bar”,但必须显示“foo”:

我的 rules.py 看起来像这样:

所以总是会返回true。

0 投票
1 回答
261 浏览

django - django-rules:将规则/谓词放在哪里?

愚蠢的问题,但是在使用 django-rules 时RulesModel,我将自定义谓词放在哪里?我是否创建一个单独的规则文件并将其导入到 models.py 中?

0 投票
1 回答
58 浏览

django - django-rules:无法在模板中按预期工作

免责声明:我是 django 和 django-rules 的新手。

我已经定义了我的模型。该模型有 2 个用户表的外键。创作者和监督者。实例应可由员工、创建者或主管更改/更新。

我为 is_creator 和 is_supervisor 定义了谓词并制定了规则:

在模型元类中我添加了:

在我看来,然后我想显示一个编辑按钮,该按钮链接到基于这些权限的编辑表单。

当我以超级用户身份登录时,该按钮按预期显示。当我使用应该能够编辑特定实例的测试用户时,根本不显示该按钮。因此,进行了某些检查,但未按预期进行。

我为索引页面提供了第二个类似的功能。仅显示用户有权执行的操作。同样,超级用户可以看到所有内容,但测试用户却看不到。

在这种情况下,我有以下谓词,它在不同的模型上用作“添加”权限:

在这两种情况下,除了 is_staff 之外的所有检查似乎都失败了。我究竟做错了什么?

0 投票
1 回答
184 浏览

python - 带规则的 DRF ViewSet 操作授权

考虑以下模型

以及下面的 ViewSet

使用django-rules,如何将 CourseViewSet 中的 create() 操作仅限于 user_type TEACHER 的用户?

0 投票
1 回答
81 浏览

python - Django 规则重用谓词

我创建了 2 个谓词,它们本质上非常相似。一个消耗一个列表,另一个消耗一个静态字符串。

我的要求是can_edit_specific_item()必须can_edit_items()通过传入单个字符串来使用field_1

我已经尝试创建以下变体,但它似乎没有按我的意图工作

0 投票
1 回答
213 浏览

python - Django 规则设置问题:自定义用户模型的 has_perm 始终为 False

我是 Django 的新手。我一直在尝试使用自定义用户模型设置django-rules,但在尝试访问页面时不断收到 404。这是设置的外观:

自定义用户模型

设置.py

已安装的应用程序

规则.py

视图.py

网址.py

根据调试,is_organisation_member返回True,但用户在尝试查看页面时仍然收到 404 错误(没有 django-rulespermission_required装饰器,页面可以正常工作)。任何想法为什么我会收到 404 响应?

0 投票
1 回答
57 浏览

python - 使用 django-rules 时来自 Django Admin 中谓词的 AttributeError

我正在尝试使用django-rules创建第一个实现,遵循自述文件中的指南。

从一些基本概念开始,我想将记录的删除限制为仅在我的应用程序中的记录所有者contact。我设法(似乎)使用通过 Django REST Framework 提供的 API 来处理事情。但是,当我使用非超级用户打开 Django Admin 时,我收到以下错误:

AttributeError:“NoneType”对象没有属性“created_by”

这似乎与我的谓词定义有关contact/rules.py(我尝试遵循此处的 django-rules 文档中的“书籍示例” ):

我的contact/admin.py样子如下:

谁能给我指点一下这里可能会失败的地方?

0 投票
1 回答
40 浏览

django - Django 规则替换 Guardian.mixins.PermissionListMixin

在我基于 django 的应用程序中,我想让用户能够跟踪他们的位置。每个位置都有一个所有者,列表视图应该只显示当前用户拥有的位置。

使用django-guardian,我可以通过在 views.py 中指定以下内容来实现相同的目的:

我将如何使用django-rules创建类似的东西?

0 投票
0 回答
15 浏览

django - Can permissions mixin be used in some other model rather than the auth user model?

In my web application, a single user can have many accounts, but user has to login only once using his email and password. However, different accounts can have different permissions. Each account has its own session and the request.user will change depending on which account the user has logged in to. And there will be two types of login, the first type is when user logs into the website, and the other type is when user logs in into any of his account.

I used the django auth user model to store the user's email and password and use it only for first type login and it does not inherit the permissions mixin. And for accounts, I have an account model which does inherit permissions mixin. It is used for second type log in and relating each account to its set of permissions.

So is it a good practice to have permissions mixin used in some other model rather than the auth user model? If not, then why permissions is available as a mixin?