1
그룹 EuropartsBuyer
과 Product
이라는 모델이 있습니다.Django에서 그룹의 현재 사용자 권한을 확인하는 방법은 무엇입니까?
다음 코드는 사용 권한을 제품 모델에 추가합니다.
class Meta:
permissions = (
("can_add_cost_price", "Can add cost price"),
)
내 의견 중 하나는이 권한을 해당 그룹에 추가 할 권한이 있습니다.
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)
장고 관리자의 도움을 받아 EuropartsBuyer
그룹에 사용자를 추가했습니다. 내가 다른보기
if request.user.has_perm('can_add_cost_price'):
do something
에 다음 코드를 사용할 때
이 결과는 True
있어야하는데하지만 False
을 보이고있다. 따라서 if 절 아래의 코드는 실행되지 않습니다.
장고 쉘에 현재 로그인 한 사용자를 가져 왔으며 권한을 다시 테스트 할 때 False를 표시합니다.
내가 뭘 잘못하고 있니?
는 형식입니다 AnonymousUser 인스턴스입니까? –
@ThulasiRam 예. 특정보기에 액세스하려면 로그인해야합니다. – MiniGunnR
비록 내가 로그인했지만 DRF를 사용하고 인증 클래스를 제거했다면 요청이 사용자가 익명으로 처리됩니다. 그래서 당신은 확신 할 수있는 방법으로 권한을 확인하기 전에 request.user를 먼저 인쇄 해 볼 수 있습니까? @MiniGunnR –