Min*_*nnR 9 django permissions django-permissions django-users
我有一个EuropartsBuyer名为的组和模型Product.
以下代码向Product模型添加权限.
class Meta:
permissions = (
("can_add_cost_price", "Can add cost price"),
)
Run Code Online (Sandbox Code Playgroud)
在我的一个视图中,我有以下代码将此权限添加到该组.
europarts_buyer, created = Group.objects.get_or_create(name='EuropartsBuyer')
add_cost_price = Permission.objects.get(codename='can_add_cost_price')
europarts_buyer.permissions.add(add_cost_price)
Run Code Online (Sandbox Code Playgroud)
在Django Admin的帮助下,我已经向该组添加了一个用户EuropartsBuyer.
当我在另一个视图中使用以下代码时
if request.user.has_perm('can_add_cost_price'):
do something
Run Code Online (Sandbox Code Playgroud)
结果应该是,True但它显示False.因此,if子句下的代码不会运行.
我已经在Django shell中导入了当前登录的用户,当我再次测试权限时,它显示为False.
我在这做错了什么?
nev*_*ner 22
试试这个:
if request.user.has_perm('app_name.can_add_cost_price'):
Run Code Online (Sandbox Code Playgroud)
来自文档:
其中每个烫发的格式为'app_label.permission codename'
| 归档时间: |
|
| 查看次数: |
10735 次 |
| 最近记录: |