Bir belge uygulaması için sınıf tabanlı bir api oluşturuyorum, ancak APIView'mdeki yayın ve yama tanımlarına belirli izinler eklemek istiyorum. Örneğin,Belirli istekler için Django Rest Framework'de izinler nasıl eklenir
5
A
cevap
2
By default permissions are unrestricted. settings.py
'unuzda, kullanıcıların doğrulanması ve doğru Django model iznine sahip olması gereken farklı bir varsayılanlar kümesi belirleyebilirsiniz. Etkili olabilmeniz içinözniteliğini DjangoModelPermissions
için görünüm sınıfınızda belirtmeniz gerekir.
# settings.py
REST_FRAMEWORK = {
'DEFAULT_PERMISSION_CLASSES': (
'rest_framework.permissions.IsAuthenticated',
'rest_framework.permissions.DjangoModelPermissions'
)
}
# views.py
class DocumentList(APIView):
model = Document
...
DjangoModelPermissions
izin haritası can be found in the source.
- GET, SEÇENEKLER ve BAŞ iznini gerektirmeyen ama biz
IsAuthenticated
belirtilen beri biz hala - POST haritalar
- haritalar SİL değiştirmek için
- PUT ve YAMA harita eklemek için bu şart koşuyoruz Bu benim yaptığım budur
0
silin. Proje için documentation
düzenlendi izin sınıfından Referans
proje
from rest_framework import permissions
class IsAuthenticatedOrReadOnly(permissions.BasePermission):
def has_object_permission(self, request, view, obj):
# Read permission - always allow for GET request
if request.method in permissions.SAFE_METHODS:
return True
# Write permissions - only if authenticated
return request.user and request.user.is_authenticated()
Şimdi görünümde bu PermissionClass kullanmak/permissions.py
@permission_classes((IsAuthenticatedOrReadOnly,))
class ShopViewSet(viewsets.ModelViewSet):
queryset = Shop.objects.all()
serializer_class = ShopSerializer
İlgili konular
- 1. Django REST Yuvalanmış Yollarda İzinler
- 2. Django Rest Framework: GET isteğinin yanıtına özel alan nasıl eklenir?
- 3. token auth to swagger + django rest framework nasıl eklenir?
- 4. Django REST
- 5. Eylem iznine göre Django rest-framework
- 6. Django REST çerçevesi: Kullanıcının grup
- 7. Django Rest filtreleriyle sorgu sonuçları nasıl sınırlanır
- 8. django-rest-swagger: docstring
- 9. Django REST Framework'den basılmamış sonuçlar alın
- 10. Django Rest Framework, NestKeyRelatedField
- 11. Django Rest Framework ModelViewSet
- 12. SPA - API dışı istekler için index.html sunun
- 13. Django Rest Framework
- 14. Django Rest Framework serileştiricisi
- 15. Yay Verisi REST projeksiyonlarına nasıl link eklenir?
- 16. Django Rest Framework İş Mantığı
- 17. Django REST İstisnalar
- 18. Django Rest Framework ürününü
- 19. django özel kullanıcı modeli grupları ve izinler
- 20. Django: Grup tabanlı izinler örneği/dokümanlar?
- 21. StartInfo için Alternatif İzinler
- 22. Django-rest ilerleme çubuğu yükleme
- 23. Django REST Framework: serializer içeriğinin nasıl çalışır?
- 24. Django REST Framework - CurrentUserDefault kullanımı
- 25. Android uygulamasını platform ile oluştururken belirli izinler nasıl kaldırılır?
- 26. django-rest-swagger: uç noktaları nasıl gruplanır?
- 27. Django Rest Framework güncelleştirme alanı
- 28. UserPrincipal.FindByIdentity İzinler
- 29. Django Rest Aut - Kullanıcı Kaydı
- 30. Django Rest Framework Sözlük Alanı