File: forms.pyi

package info (click to toggle)
python-django-stubs 5.2.9-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 4,832 kB
  • sloc: python: 5,185; makefile: 15; sh: 8
file content (139 lines) | stat: -rw-r--r-- 5,218 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
from collections.abc import Iterable
from logging import Logger
from typing import Any, Generic

from django import forms
from django.contrib.auth.models import _User, _UserModel, _UserType
from django.contrib.auth.tokens import PasswordResetTokenGenerator
from django.core.exceptions import ValidationError
from django.db import models
from django.db.models.fields import _ErrorMessagesDict
from django.forms.fields import _ClassLevelWidgetT
from django.forms.widgets import Widget
from django.http.request import HttpRequest
from django.utils.functional import _StrOrPromise

logger: Logger
UserModel = _UserModel

class ReadOnlyPasswordHashWidget(forms.Widget):
    template_name: str
    read_only: bool
    def get_context(self, name: str, value: Any, attrs: dict[str, Any] | None) -> dict[str, Any]: ...

class ReadOnlyPasswordHashField(forms.Field):
    widget: _ClassLevelWidgetT
    def __init__(self, *args: Any, **kwargs: Any) -> None: ...

class UsernameField(forms.CharField):
    def to_python(self, value: Any | None) -> Any | None: ...
    def widget_attrs(self, widget: Widget) -> dict[str, Any]: ...

class SetPasswordMixin(Generic[_UserType]):
    error_messages: _ErrorMessagesDict

    @staticmethod
    def create_password_fields(
        label1: _StrOrPromise = ..., label2: _StrOrPromise = ...
    ) -> tuple[forms.CharField, forms.CharField]: ...
    def validate_passwords(
        self,
        password1_field_name: str = ...,
        password2_field_name: str = ...,
    ) -> None: ...
    def validate_password_for_user(self, user: _UserType, password_field_name: str = "password2") -> None: ...
    def set_password_and_save(
        self, user: _UserType, password_field_name: str = "password1", commit: bool = True
    ) -> _UserType: ...

class SetUnusablePasswordMixin(Generic[_UserType]):
    usable_password_help_text: _StrOrPromise

    @staticmethod
    def create_usable_password_field(help_text: _StrOrPromise = ...) -> forms.ChoiceField: ...
    def validate_passwords(
        self,
        password1_field_name: str = ...,
        password2_field_name: str = ...,
        usable_password_field_name: str = ...,
    ) -> None: ...
    def validate_password_for_user(self, user: _UserType, **kwargs: Any) -> None: ...
    def set_password_and_save(self, user: _User, commit: bool = True, **kwargs: Any) -> _User: ...

class BaseUserCreationForm(forms.ModelForm[_UserType], Generic[_UserType]):
    error_messages: _ErrorMessagesDict
    password1: forms.Field
    password2: forms.Field
    def __init__(self, *args: Any, **kwargs: Any) -> None: ...
    def save(self, commit: bool = ...) -> _UserType: ...

class UserCreationForm(BaseUserCreationForm[_UserType]):
    def clean_username(self) -> str: ...

class UserChangeForm(forms.ModelForm[_UserType]):
    password: forms.Field
    def __init__(self, *args: Any, **kwargs: Any) -> None: ...

class AuthenticationForm(forms.Form):
    username: forms.Field
    password: forms.Field
    error_messages: _ErrorMessagesDict
    request: HttpRequest | None
    user_cache: _User | None
    username_field: models.Field
    def __init__(self, request: HttpRequest | None = ..., *args: Any, **kwargs: Any) -> None: ...
    def confirm_login_allowed(self, user: _User) -> None: ...
    def get_user(self) -> _User: ...
    def get_invalid_login_error(self) -> ValidationError: ...
    def clean(self) -> dict[str, Any]: ...

class PasswordResetForm(forms.Form):
    email: forms.Field
    def send_mail(
        self,
        subject_template_name: str,
        email_template_name: str,
        context: dict[str, Any],
        from_email: str | None,
        to_email: str,
        html_email_template_name: str | None = ...,
    ) -> None: ...
    def get_users(self, email: str) -> Iterable[_User]: ...
    def save(
        self,
        domain_override: str | None = ...,
        subject_template_name: str = ...,
        email_template_name: str = ...,
        use_https: bool = ...,
        token_generator: PasswordResetTokenGenerator = ...,
        from_email: str | None = ...,
        request: HttpRequest | None = ...,
        html_email_template_name: str | None = ...,
        extra_email_context: dict[str, str] | None = ...,
    ) -> None: ...

class SetPasswordForm(SetPasswordMixin, forms.Form, Generic[_UserType]):
    new_password1: forms.Field
    new_password2: forms.Field
    user: _UserType
    def __init__(self, user: _UserType, *args: Any, **kwargs: Any) -> None: ...
    def save(self, commit: bool = ...) -> _UserType: ...

class PasswordChangeForm(SetPasswordForm):
    old_password: forms.Field
    def clean_old_password(self) -> str: ...

class AdminPasswordChangeForm(forms.Form, Generic[_UserType]):
    error_messages: _ErrorMessagesDict
    required_css_class: str
    usable_password_help_text: str
    password1: forms.Field
    password2: forms.Field
    user: _UserType
    def __init__(self, user: _UserType, *args: Any, **kwargs: Any) -> None: ...
    def save(self, commit: bool = ...) -> _UserType: ...
    @property
    def changed_data(self) -> list[str]: ...

class AdminUserCreationForm(SetUnusablePasswordMixin, UserCreationForm):
    usable_password: forms.ChoiceField = ...