@@ -4,26 +4,36 @@ from typing import Any, Literal, TypeAlias
4
4
from django .http .request import QueryDict
5
5
from django .http .response import HttpResponseBase
6
6
from django .urls .resolvers import ResolverMatch
7
+ from django .utils .functional import _StrPromise
7
8
8
9
# https://github.com/python/typeshed/blob/87f599dc8312ac67b941b5f2b47274534a1a2d3a/stdlib/urllib/parse.pyi#L136-L138
9
10
_QueryType : TypeAlias = (
10
11
Mapping [Any , Any ] | Mapping [Any , Sequence [Any ]] | Sequence [tuple [Any , Any ]] | Sequence [tuple [Any , Sequence [Any ]]]
11
12
)
12
13
13
14
def resolve (path : str , urlconf : str | None = ...) -> ResolverMatch : ...
15
+
16
+ # NOTE: make sure `reverse` and `reverse_lazy` objects are in sync:
14
17
def reverse (
15
18
viewname : Callable [..., HttpResponseBase ] | str | None ,
16
- urlconf : str | None = ... ,
17
- args : Sequence [Any ] | None = ... ,
18
- kwargs : dict [str , Any ] | None = ... ,
19
- current_app : str | None = ... ,
19
+ urlconf : str | None = None ,
20
+ args : Sequence [Any ] | None = None ,
21
+ kwargs : dict [str , Any ] | None = None ,
22
+ current_app : str | None = None ,
20
23
* ,
21
- query : QueryDict | _QueryType | None = ... ,
22
- fragment : str | None = ... ,
24
+ query : QueryDict | _QueryType | None = None ,
25
+ fragment : str | None = None ,
23
26
) -> str : ...
24
-
25
- reverse_lazy : Any
26
-
27
+ def reverse_lazy (
28
+ viewname : Callable [..., HttpResponseBase ] | str | None ,
29
+ urlconf : str | None = None ,
30
+ args : Sequence [Any ] | None = None ,
31
+ kwargs : dict [str , Any ] | None = None ,
32
+ current_app : str | None = None ,
33
+ * ,
34
+ query : QueryDict | _QueryType | None = None ,
35
+ fragment : str | None = None ,
36
+ ) -> _StrPromise : ...
27
37
def clear_url_caches () -> None : ...
28
38
def set_script_prefix (prefix : str ) -> None : ...
29
39
def get_script_prefix () -> str : ...
0 commit comments