gpt4 book ai didi

python - Django Python : adding custom permissions to specific users

转载 作者:行者123 更新时间:2023-12-04 16:06:12 27 4
gpt4 key购买 nike

模型.py

class Meta:
permissions = (
("can_add_data","can add a new data"),
)

这是我在 Models.py 中创建的自定义权限,我也创建了这些用户。

Users in Django Admin ie., http://localhost:8000/admin

如何向特定用户授予权限以便我可以使用 @permission_required('myapp.can_add_data')在views.py中
还有我在哪里写代码片段? (在哪个文件中)

我是初学者,所以如果有任何错误,请告诉我。

最佳答案

您可以通过 Django Admin 为用户分配权限或 Django shell 通过 django-shell
通过 python manage.py shell 打开你的 django shell并运行以下语句

In [1] from django.contrib.auth.models import Permission,User
In [2] permission = Permission.objects.get(name='can add a new data')
In [3] user = User.objects.get(id=user_id)
In [4] user.user_permissions.add(permission)

通过 django-admin
打开您的 django-admin页面并前往 Users部分并选择您想要的 user .
在那里你可以看到 User permissions部分如下图,
user permission image然后,找到您想要的权限( ref-1 )(在您的情况下是 app_name|model_name|can add a new data )并单击( ref-2 ref-5|7)|10007919| ref-67节省
注意 :权限分配过程是一次性的,因此您不必每次都更新它,除非您需要更改/重新分配权限。
如何在 API 中使用此权限
在你views.py ,定义一个这样的 View ,
from django.contrib.auth.decorators import permission_required


@permission_required('app_name.can_add_data')
def my_view(request):
# do something
return HttpResponse("response")

关于python - Django Python : adding custom permissions to specific users,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49003144/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com