Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 16 for __call__ (0.55 sec)

  1. docs/zh/docs/advanced/advanced-dependencies.md

    但也可以为依赖项设置参数,避免声明多个不同的函数或类。
    
    假设要创建校验查询参数 `q` 是否包含固定内容的依赖项。
    
    但此处要把待检验的固定内容定义为参数。
    
    ## **可调用**实例
    
    Python 可以把类实例变为**可调用项**。
    
    这里说的不是类本身(类本就是可调用项),而是类实例。
    
    为此,需要声明 `__call__` 方法:
    
    {* ../../docs_src/dependencies/tutorial011.py hl[10] *}
    
    本例中,**FastAPI**  使用 `__call__` 检查附加参数及子依赖项,稍后,还要调用它向*路径操作函数*传递值。
    
    ## 参数化实例
    
    接下来,使用 `__init__` 声明用于**参数化**依赖项的实例参数:
    
    {* ../../docs_src/dependencies/tutorial011.py hl[7] *}
    
    Registered: Sun Dec 28 07:19:09 UTC 2025
    - Last Modified: Mon Nov 18 02:25:44 UTC 2024
    - 1.9K bytes
    - Viewed (0)
  2. tests/test_dependency_partial.py

    
    class CallableDependency:
        def __call__(self, value: str) -> str:
            return value
    
    
    class CallableGenDependency:
        def __call__(self, value: str) -> Generator[str, None, None]:
            yield value
    
    
    class AsyncCallableDependency:
        async def __call__(self, value: str) -> str:
            return value
    
    
    class AsyncCallableGenDependency:
        async def __call__(self, value: str) -> AsyncGenerator[str, None]:
    Registered: Sun Dec 28 07:19:09 UTC 2025
    - Last Modified: Wed Dec 17 21:25:59 UTC 2025
    - 6.3K bytes
    - Viewed (0)
  3. fastapi/dependencies/models.py

            dunder_call = getattr(_impartial(self.call), "__call__", None)  # noqa: B004
            if dunder_call is None:
                return False  # pragma: no cover
            if inspect.isgeneratorfunction(
                _impartial(dunder_call)
            ) or inspect.isgeneratorfunction(_unwrapped_call(dunder_call)):
                return True
            dunder_unwrapped_call = getattr(_unwrapped_call(self.call), "__call__", None)  # noqa: B004
    Registered: Sun Dec 28 07:19:09 UTC 2025
    - Last Modified: Wed Dec 17 21:25:59 UTC 2025
    - 7.1K bytes
    - Viewed (0)
  4. tests/test_dependency_class.py

    
    class CallableDependency:
        def __call__(self, value: str) -> str:
            return value
    
    
    class CallableGenDependency:
        def __call__(self, value: str) -> Generator[str, None, None]:
            yield value
    
    
    class AsyncCallableDependency:
        async def __call__(self, value: str) -> str:
            return value
    
    
    class AsyncCallableGenDependency:
        async def __call__(self, value: str) -> AsyncGenerator[str, None]:
    Registered: Sun Dec 28 07:19:09 UTC 2025
    - Last Modified: Wed Dec 17 21:25:59 UTC 2025
    - 4.4K bytes
    - Viewed (0)
  5. docs_src/dependencies/tutorial011_py39.py

    from fastapi import Depends, FastAPI
    
    app = FastAPI()
    
    
    class FixedContentQueryChecker:
        def __init__(self, fixed_content: str):
            self.fixed_content = fixed_content
    
        def __call__(self, q: str = ""):
            if q:
                return self.fixed_content in q
            return False
    
    
    checker = FixedContentQueryChecker("bar")
    
    
    @app.get("/query-checker/")
    Registered: Sun Dec 28 07:19:09 UTC 2025
    - Last Modified: Wed Dec 17 20:41:43 UTC 2025
    - 504 bytes
    - Viewed (0)
  6. fastapi/security/api_key.py

                location=APIKeyIn.query,
                name=name,
                scheme_name=scheme_name,
                description=description,
                auto_error=auto_error,
            )
    
        async def __call__(self, request: Request) -> Optional[str]:
            api_key = request.query_params.get(self.model.name)
            return self.check_api_key(api_key)
    
    
    class APIKeyHeader(APIKeyBase):
        """
    Registered: Sun Dec 28 07:19:09 UTC 2025
    - Last Modified: Wed Dec 17 21:25:59 UTC 2025
    - 9.6K bytes
    - Viewed (1)
  7. docs_src/dependencies/tutorial011_an_py39.py

    from typing import Annotated
    
    from fastapi import Depends, FastAPI
    
    app = FastAPI()
    
    
    class FixedContentQueryChecker:
        def __init__(self, fixed_content: str):
            self.fixed_content = fixed_content
    
        def __call__(self, q: str = ""):
            if q:
                return self.fixed_content in q
            return False
    
    
    checker = FixedContentQueryChecker("bar")
    
    
    @app.get("/query-checker/")
    Registered: Sun Dec 28 07:19:09 UTC 2025
    - Last Modified: Sat Mar 18 12:29:59 UTC 2023
    - 544 bytes
    - Viewed (0)
  8. tests/test_stringified_annotations_simple.py

    from __future__ import annotations
    
    from typing import Annotated
    
    from fastapi import Depends, FastAPI, Request
    from fastapi.testclient import TestClient
    
    from .utils import needs_py310
    
    
    class Dep:
        def __call__(self, request: Request):
            return "test"
    
    
    @needs_py310
    def test_stringified_annotations():
        app = FastAPI()
    
        client = TestClient(app)
    
        @app.get("/test/")
    Registered: Sun Dec 28 07:19:09 UTC 2025
    - Last Modified: Wed Dec 17 21:25:59 UTC 2025
    - 545 bytes
    - Viewed (0)
  9. fastapi/middleware/asyncexitstack.py

    class AsyncExitStackMiddleware:
        def __init__(
            self, app: ASGIApp, context_name: str = "fastapi_middleware_astack"
        ) -> None:
            self.app = app
            self.context_name = context_name
    
        async def __call__(self, scope: Scope, receive: Receive, send: Send) -> None:
            async with AsyncExitStack() as stack:
                scope[self.context_name] = stack
    Registered: Sun Dec 28 07:19:09 UTC 2025
    - Last Modified: Mon Sep 29 03:29:38 UTC 2025
    - 637 bytes
    - Viewed (0)
  10. docs/ko/docs/advanced/advanced-dependencies.md

    ## "호출 가능한" 인스턴스
    
    Python에는 클래스의 인스턴스를 "호출 가능"하게 만드는 방법이 있습니다.
    
    클래스 자체(이미 호출 가능함)가 아니라 해당 클래스의 인스턴스에 대해 호출 가능하게 하는 것입니다.
    
    이를 위해 `__call__` 메서드를 선언합니다:
    
    {* ../../docs_src/dependencies/tutorial011_an_py39.py hl[12] *}
    
    이 경우, **FastAPI**는 추가 매개변수와 하위 의존성을 확인하기 위해 `__call__`을 사용하게 되며,
    나중에 *경로 연산 함수*에서 매개변수에 값을 전달할 때 이를 호출하게 됩니다.
    
    ## 인스턴스 매개변수화하기
    
    이제 `__init__`을 사용하여 의존성을 "매개변수화"할 수 있는 인스턴스의 매개변수를 선언할 수 있습니다:
    
    Registered: Sun Dec 28 07:19:09 UTC 2025
    - Last Modified: Mon Nov 18 02:25:44 UTC 2024
    - 2.9K bytes
    - Viewed (0)
Back to top