123456789101112131415161718192021222324252627282930 |
- from django.apps import AppConfig
- from django.core import checks
- from django.db.models.query_utils import DeferredAttribute
- from django.db.models.signals import post_migrate
- from django.utils.translation import gettext_lazy as _
-
- from . import get_user_model
- from .checks import check_models_permissions, check_user_model
- from .management import create_permissions
- from .signals import user_logged_in
-
-
- class AuthConfig(AppConfig):
- default_auto_field = "django.db.models.AutoField"
- name = "django.contrib.auth"
- verbose_name = _("Authentication and Authorization")
-
- def ready(self):
- post_migrate.connect(
- create_permissions,
- dispatch_uid="django.contrib.auth.management.create_permissions",
- )
- last_login_field = getattr(get_user_model(), "last_login", None)
- # Register the handler only if UserModel.last_login is a field.
- if isinstance(last_login_field, DeferredAttribute):
- from .models import update_last_login
-
- user_logged_in.connect(update_last_login, dispatch_uid="update_last_login")
- checks.register(check_user_model, checks.Tags.models)
- checks.register(check_models_permissions, checks.Tags.models)
|