Toolverse
Wszystkie skille

django-drf

autor: prowler-cloud

Wzorce Django REST Framework dla szybkiego budowania API z walidacją, filtrowaniem i dokumentacją

Instalacja

Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.

Instalacja

Szybkie info

Kategoria
Backend
Wyświetlenia
5

O skillu

Skill do Claude/Copilota wspierający implementację API opartych na Django REST Framework. Automatycznie aktywuje się przy tworzeniu ViewSets, serializerów, routerów i uprawnień. Zawiera sprawdzone wzorce dla separacji operacji odczytu/zapisu, optymalizacji zapytań N+1, walidacji pól oraz generowania dokumentacji OpenAPI. Idealny dla zespołów budujących skalowalne REST API z obsługą filtrowania, paginacji i kontroli dostępu.

Jak używać

  1. Zainstaluj skill w swoim projekcie Django poprzez dodanie go do konfiguracji Claude/Copilota. Skill automatycznie aktywuje się, gdy pracujesz w katalogu api/ i tworzysz nowe ViewSety, serializery lub filtry.

  2. Przy implementacji nowego endpointu zacznij od modelu — upewnij się, że używasz UUID jako klucza głównego (UUIDv4 lub UUIDv7), dodaj pola inserted_at i updated_at, oraz zdefiniuj JSONAPIMeta.resource_name dla zgodności ze schematem JSON:API.

  3. Utwórz ViewSet dziedziczący z BaseRLSViewSet i zaimplementuj get_queryset() z użyciem select_related() lub prefetch_related() aby uniknąć problemu N+1. Pamiętaj o obsłudze swagger_fake_view dla poprawnego generowania schematu OpenAPI.

  4. Zdefiniuj serializery — zawsze oddziel je na operacje: Read (odczyt), Create (tworzenie), Update (aktualizacja) i Include (zagnieżdżone dane). Serializery do zapisu powinny dziedziczyć z BaseWriteSerializer i walidować nieznane pola.

  5. Dodaj filtrowanie za pomocą filterset_class zamiast filterset_fields dla bardziej złożonych scenariuszy. Dziedzicz z dostępnych klas bazowych filtrów w projekcie.

  6. Skonfiguruj routing bez końcowych slashów (trailing_slash=False), dodaj paginację i uprawnienia dostępu. Skill podpowie konkretne wzorce na każdym etapie — nigdy nie umieszczaj logiki biznesowej w serializerach, używaj dedykowanych serwisów lub narzędzi.

Podobne skille