awesome-repositories.com
Blog
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
encode avatar

encode/django-rest-framework

0
View on GitHub↗
30,083 stars·7,071 forks·Python·11 vueswww.django-rest-framework.org↗

Django Rest Framework

Django REST Framework is a toolkit for building standards-compliant web services that map complex data models to structured HTTP responses. It provides a modular architecture for handling the request lifecycle, including authentication, permission checks, and content negotiation. The framework is designed to facilitate the development of robust APIs by transforming complex data types into native formats and validating incoming request payloads against defined schemas.

The project distinguishes itself through a highly modular, class-based design that allows developers to build complex views and API logic through inheritance and mixin composition. It features a powerful serialization system that automatically generates schemas from database models, alongside a flexible policy-based system for managing access control, rate limiting, and versioning. The framework also includes automated schema generation, which introspects view logic to produce interactive, machine-readable API documentation at runtime.

Beyond its core serialization and view architecture, the framework provides a comprehensive suite of tools for managing the entire API lifecycle. This includes extensive support for authentication methods, content negotiation, pagination, and filtering, as well as robust error handling and testing utilities. These components are designed to be highly customizable, allowing developers to override default behaviors or implement custom logic to meet specific application requirements.

Features

  • REST Frameworks - Provides a robust toolkit for building standards-compliant web services.
  • Web API Frameworks - Provides a toolkit for building robust, standards-compliant web services.
  • Access Control Policies - Restricts API access based on authentication status and user roles using built-in policies.
  • API View Controllers - Provides pre-built view classes that implement standard CRUD operations for API endpoints.
  • Data Serialization - Processes and validates multiple objects simultaneously during serialization operations.

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI
  • Data Serializers - Transforms complex data types into native formats and validates incoming request payloads.
  • Declarative Serializers - Handles bidirectional transformation between complex objects and serialized formats using class-based schemas.
  • Model Serializers - Generates serializers automatically from models, including field mapping and validation.
  • Viewset Frameworks - Implements base viewset classes that provide pre-built functionality for model-backed API operations.
  • Queryset Filtering Backends - Django REST Framework processes querysets using filter backends to restrict results and optionally render interface controls for users across multiple views.
  • API Access Control - Implements flexible identity verification and granular access control policies.
  • Authentication Management - Manages authenticated user information and security tokens across API requests.
  • Authorization Policies - Django REST Framework allows implementing custom access logic by subclassing base classes to evaluate request-level or object-level authorization based on specific requirements.
  • API Testing - Executes comprehensive test cases using a pre-configured client for verifying views and database changes.
  • API Routing - Creates standard API URL patterns for common CRUD actions.
  • Class-Based Views - Provides a modular design pattern for handling HTTP requests through reusable components.
  • Data Mapping - Translates complex data types into native Python types and validates incoming data.
  • Request Parsers - Django REST Framework converts incoming request bodies into structured data, supporting JSON, form data, and file uploads across various HTTP methods.
  • Queryset Filtering Tools - Django REST Framework enables restricting results by overriding view methods to filter data based on the authenticated user, URL parameters, or query strings.
  • API Throttling - Protects backend infrastructure by enforcing request frequency limits.
  • Rate Limiting - Configures proxy settings to correctly parse headers and identify client IP addresses for rate limiting.
  • Request Guards - Enforces access control, rate limiting, and versioning through pluggable policy classes.
  • Error Handling Strategies - Django REST Framework enables transforming application errors into specific response formats by registering custom handler functions in project settings.
  • Formal Verification Tools - Inspects response data and renders output to confirm application results match expected structures.
  • API Policy Management - Controls authentication, permissions, throttling, and content negotiation via view attributes.
  • API Routers - Maps viewsets to URL patterns automatically to reduce manual configuration.
  • Base Serializers - Overrides base methods to gain full control over data representation and validation.
  • Content Negotiation Strategies - Django REST Framework selects the most appropriate renderer class by examining the request Accept header or URL suffixes during the response lifecycle.
  • Pagination Strategies - Provides configurable page-number based pagination for API result sets.
  • Rate Limiting - Implements custom rate limiting logic to control traffic flow and protect API endpoints.
  • Request Dispatchers - Orchestrates the request lifecycle through centralized class-based dispatching.
  • Request Handling Utilities - Django REST Framework retrieves enhanced request metadata including supported HTTP methods, content streams, and media types for browser-based forms.
  • Request Middleware - Processes incoming HTTP traffic to handle authentication and content negotiation.
  • Response Handlers - Returns serialized data that is automatically rendered based on content negotiation.
  • View Mixins - Provides modular view functionality by mixing in standard action methods for listing, creating, and managing model instances.
  • API Development - Standard toolkit for building Web APIs.
  • DRF Resources - Core framework for building web APIs.
  • Web APIs - A powerful and flexible toolkit to build web APIs.
  • Web Frameworks - Web API toolkit for Django.
  • API Documentation Generators - Generates interactive documentation and machine-readable schemas from existing code.
  • Access Control Lists - Django REST Framework checks access control on specific model instances within views to ensure users only interact with authorized objects.
  • Authentication Handling - Defines classes used to represent unauthenticated users and tokens for request handling.
  • Request Policy Handlers - Executes custom logic for permissions, throttling, and content negotiation before dispatching requests to handlers.
  • Testing Frameworks - Executes authenticated requests during testing by managing session logins and custom headers.
  • Input Validation - Implements custom validation logic to enforce business requirements on incoming data.
  • API Schema Generation - Produces API documentation by inspecting URL patterns and view logic.
  • API Versioning - Maintains backward compatibility by supporting multiple API iterations within the same application.
  • Field Configuration - Sets field attributes like read-only status, required presence, and default values.
  • Limit Offset Pagination - Django REST Framework paginates results using limit and offset query parameters to control the number of items returned and the starting position.
  • Nested Serializers - Embeds related model instances directly within a parent object's representation.
  • Response Inspection Tools - Django REST Framework accesses response metadata including raw data, status codes, rendered content, and renderer-specific context information during the rendering lifecycle.
  • Response Renderers - Allows defining custom media types and rendering logic for API responses.
  • Token Authentication - Authenticates requests using simple token strings for persistent client access.
  • UI Automation - Interacts with live application endpoints using a standard HTTP client to verify interface responses.
  • API Routing Extensions - Django REST Framework defines specific API URL structures by subclassing existing routers and creating custom URL templates.
  • API Schema Generators - Generates structured OpenAPI definitions by introspecting view attributes and serializer fields.
  • Composite Fields - Validates complex data structures like lists, dictionaries, and JSON objects.
  • Cursor Pagination - Paginates large datasets using opaque cursors to ensure consistent views and efficient performance.
  • Filter Backends - Implements custom filtering logic to restrict querysets based on request context.
  • Hyperlinked Serializers - Represents model relationships using hyperlinks to ensure fully qualified URLs.
  • Relationship Mapping - Maps model relationships to strings, primary keys, slugs, or hyperlinked URLs.
  • Traffic Control Policies - Restricts incoming traffic globally or per-view based on user identity and request metadata.
  • URL Content Negotiation - Django REST Framework allows appending format suffixes to URL patterns so clients can specify the requested data representation directly in the URL path.
  • Third-Party Authentication Providers - Supports connecting external identity providers via protocols like OAuth 2.0.
  • API Exception Handlers - Converts application exceptions into structured JSON error responses.
  • Test Data Management - Creates HTTP requests using a factory that automatically handles content encoding and standard methods.
  • Data Validation Libraries - Enforces uniqueness constraints on model fields relative to specific date ranges.
  • API Metadata Generators - Django REST Framework controls how the system responds to OPTIONS requests and provides information about API endpoints by configuring metadata generation globally or per-view.
  • Automatic Routers - Maps viewset actions to URL patterns by inspecting class methods and metadata.
  • Choice Fields - Validates input against a predefined set of choices with custom display names.
  • Content Negotiation Pipelines - Dynamically selects parsers and renderers by matching client headers against media type priorities.
  • Custom Serializer Fields - Converts between internal Python objects and serializable primitives.
  • Date and Time Fields - Processes date, time, and duration data types with support for custom formats.
  • Dynamic Response Renderers - Django REST Framework adapts response serialization dynamically by checking the negotiated renderer format within view logic to support multiple output types.
  • Error Handling Utilities - Django REST Framework allows replacing default HTML error pages with standard JSON responses for server errors and bad requests in API applications.
  • Exception Handling - Provides custom exception classes to map application errors to specific HTTP status codes and response structures.
  • File Upload Fields - Manages file and image uploads by validating content types and handling storage.
  • Numeric Fields - Validates and serializes numeric data types, including high-precision decimals.
  • Pagination Utilities - Django REST Framework allows setting pagination classes and page size attributes on API views to control how large datasets are split into pages.
  • Serialization Hooks - Modifies serialization and deserialization behavior dynamically by overriding internal representation methods.
  • String Fields - Validates and serializes text-based data, including email, slugs, and UUIDs.
  • Historique des stars

    Graphique de l'historique des stars pour encode/django-rest-frameworkGraphique de l'historique des stars pour encode/django-rest-framework

    Questions fréquentes

    Que fait encode/django-rest-framework ?

    Django REST Framework is a toolkit for building standards-compliant web services that map complex data models to structured HTTP responses. It provides a modular architecture for handling the request lifecycle, including authentication, permission checks, and content negotiation. The framework is designed to facilitate the development of robust APIs by transforming complex data types into native formats and validating incoming request payloads against defined schemas.

    Quelles sont les fonctionnalités principales de encode/django-rest-framework ?

    Les fonctionnalités principales de encode/django-rest-framework sont : REST Frameworks, Web API Frameworks, Access Control Policies, API View Controllers, Data Serialization, Data Serializers, Declarative Serializers, Model Serializers.

    Quelles sont les alternatives open-source à encode/django-rest-framework ?

    Les alternatives open-source à encode/django-rest-framework incluent : labstack/echo — Echo is a high-performance, lightweight web framework for Go designed for building scalable RESTful APIs and web… kataras/iris — Iris is a high-performance web framework and API toolkit for the Go programming language. It provides the… rwf2/rocket — Rocket is a type-safe web framework designed for building server-side applications. It provides a high-performance… hapijs/hapi — Hapi is a configuration-driven web framework for building secure and scalable HTTP servers and APIs on the Node.js… litestar-org/litestar — Litestar is a high-performance Python ASGI web framework designed for building asynchronous APIs and web services. It… marionettejs/backbone.marionette — This project is a structured architectural layer for Backbone.js that implements the model-view-controller pattern for…

    Alternatives open source à Django Rest Framework

    Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Django Rest Framework.
    • labstack/echoAvatar de labstack

      labstack/echo

      32,451Voir sur GitHub↗

      Echo is a high-performance, lightweight web framework for Go designed for building scalable RESTful APIs and web services. It provides a centralized environment for mapping network requests to handler functions, utilizing a fast radix-tree routing engine to ensure efficient request dispatching. The framework is built around a modular, middleware-centric pipeline that allows developers to execute reusable logic for cross-cutting concerns like authentication, logging, and security across the entire application. What distinguishes Echo is its focus on developer productivity through structured da

      Goechogohttp2
      Voir sur GitHub↗32,451
    • kataras/irisAvatar de kataras

      kataras/iris

      25,582Voir sur GitHub↗

      Iris is a high-performance web framework and API toolkit for the Go programming language. It provides the infrastructure necessary to build HTTP/2 web applications, REST APIs, and MVC-based websites. The project distinguishes itself through a flexible architectural model that supports multiple isolated application instances within a single process and allows for binary-embedded asset loading to eliminate external filesystem dependencies. It features dynamic router hot-reloading and a pluggable view engine for rendering dynamic HTML content. The framework covers a broad range of capabilities,

      Go
      Voir sur GitHub↗25,582
    • rwf2/rocketAvatar de rwf2

      rwf2/Rocket

      25,747Voir sur GitHub↗

      Rocket is a type-safe web framework designed for building server-side applications. It provides a high-performance asynchronous routing engine that maps incoming network traffic to concurrent handler functions, while managing the full lifecycle of web requests. The framework emphasizes compile-time verification, ensuring that request parameters, response types, and routing logic remain consistent throughout the development process. The framework distinguishes itself through its use of request guards, which act as a validation layer to intercept and transform incoming data into structured type

      Rustframeworkrocketrust
      Voir sur GitHub↗25,747
    • hapijs/hapiAvatar de hapijs

      hapijs/hapi

      14,789Voir sur GitHub↗

      Hapi is a configuration-driven web framework for building secure and scalable HTTP servers and APIs on the Node.js runtime. It functions as a REST API development framework and an enterprise server implementation focused on stability, security, and comprehensive input validation. The framework is built around a plugin-based architecture, allowing core functionality and custom logic to be organized into modular, registerable plugins. It serves as an HTTP request lifecycle manager, enabling the interception and modification of requests through pre-handlers and extensions before they reach the f

      JavaScriptapplicationframeworkhapi
      Voir sur GitHub↗14,789
    Voir les 30 alternatives à Django Rest Framework→