0Pricing
Django Academy · Lektion

Berechtigungen und Throttling

Steuern, wer Ihre API wie häufig aufrufen darf

Berechtigungen und Throttling ist eine kostenlose Django Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Django Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Django Academy-Kurs umfasst insgesamt 4 Lektionen.

Teile dieser Lektion wurden noch nicht übersetzt und werden auf Englisch angezeigt.

Who Can Call Your API?

An open API lets anyone read or change your data. Permissions decide who is allowed to do what on each endpoint.

The permission_classes Attribute

You attach access rules with permission_classes on a view or ViewSet. DRF checks them before any action runs.

from rest_framework.permissions import IsAuthenticated

class BookViewSet(viewsets.ModelViewSet):
    permission_classes = [IsAuthenticated]

Built-in Permission Classes

DRF ships ready rules: AllowAny opens a view, IsAuthenticated requires a logged-in user, and IsAdminUser limits it to staff.

Read for All, Write for Members

IsAuthenticatedOrReadOnly is a popular middle ground: anyone can GET, but only logged-in users can POST, PUT, or DELETE.

Setting a Default Globally

Set a project-wide rule in settings.py so every view starts secure unless it opts out.

REST_FRAMEWORK = {
    'DEFAULT_PERMISSION_CLASSES': [
        'rest_framework.permissions.IsAuthenticated',
    ],
}

Writing a Custom Permission

Need your own rule? Subclass BasePermission and return True or False from has_permission for the request.

from rest_framework.permissions import BasePermission

class IsOwner(BasePermission):
    def has_object_permission(self, request, view, obj):
        return obj.owner == request.user

Object-Level Permissions

Use has_object_permission to check a single record, like letting users edit only the posts they own. 🔒

Now, Throttling

Permissions answer who. Throttling answers how often, capping the number of requests a client may send in a time window.

Anon vs User Throttles

DRF offers AnonRateThrottle for unauthenticated visitors and UserRateThrottle for logged-in accounts, so you can be stricter with strangers.

Configuring Rate Limits

Set the limits in settings with DEFAULT_THROTTLE_RATES, using a count plus a period like second, minute, hour, or day.

REST_FRAMEWORK = {
    'DEFAULT_THROTTLE_RATES': {
        'anon': '20/hour',
        'user': '1000/day',
    },
}

What Throttling Protects

Throttling shields you from abuse and runaway scripts. When a client goes over, DRF returns a 429 Too Many Requests response. 🛡️

Quick Check

Let us confirm the difference between the two gatekeepers.

Recap: Access and Rate Limits

You can now gate endpoints with permission classes and protect them with throttle rates. Together they keep your API both safe and stable. 🎉

Häufig gestellte Fragen

Ist die Lektion „Berechtigungen und Throttling“ kostenlos?

Ja — der vollständige Text von „Berechtigungen und Throttling“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Django Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Django Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Berechtigungen und Throttling“?

Steuern, wer Ihre API wie häufig aufrufen darf Du übst Django Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Django Academy zu starten?

Keine Vorkenntnisse erforderlich. Django Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.

Wie lange dauert die Lektion „Berechtigungen und Throttling“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Django Academy-Lektion Code schreiben und ausführen?

Ja. Jede Django Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. ModelViewSet und Router
  2. Berechtigungen und Throttling
  3. Token- und JWT-Authentifizierung
  4. Filtern, Suchen und Seitennavigation
← Zurück zu Django Academy