Расширение пользовательских моделей в Django публично сохраняет пароль - PullRequest
0 голосов
/ 31 марта 2019

Пароль для вновь созданных пользователей публично отображается на моделях консоли администратора. Почему так и как я правильно это делаю?

Более того, я не могу войти ни с одним из новых пользователей, созданных в Accounts_app . Я могу войти только с python manage.py createsuperuser Я создал в начале проекта.

enter image description here

Вот models.py

from django.contrib.auth.models import AbstractUser


class ProjectUser(AbstractUser):

    def __str__(self):
        return self.username

Вот settings.py

PASSWORD_HASHERS = [
    'django.contrib.auth.hashers.Argon2PasswordHasher',
    'django.contrib.auth.hashers.BCryptSHA256PasswordHasher',
    'django.contrib.auth.hashers.BCryptPasswordHasher',
    'django.contrib.auth.hashers.PBKDF2PasswordHasher',
    'django.contrib.auth.hashers.PBKDF2SHA1PasswordHasher',
]


AUTH_USER_MODEL = 'accounts_app.ProjectUser'

Вот мой админский вид

enter image description here

Чтобы создать пользователя, я нажимаю «Добавить пользователя» в представлении администратора приложения.

enter image description here

Вот файл apps.py

from django.apps import AppConfig


class AccountsConfig(AppConfig):
    name = 'accounts_app'

Вот файл admin.py

from django.contrib import admin
from accounts_app.models import ProjectUser

# Register your models here.
admin.site.register(ProjectUser)

Ответы [ 2 ]

3 голосов
/ 31 марта 2019

Хотя для ProjectUser установлено значение AUTH_USER_MODEL, вы зарегистрировали его в качестве стандартной модели администратора, а не пользователя.Вам нужно использовать пользователя admin, как показано в документах , так как это заботится о хешировании пароля:

from django.contrib.auth.admin import UserAdmin

admin.site.register(ProjectUser, UserAdmin)

Вам необходимо удалить и воссоздать созданных вами пользователей.через админ, прежде чем менять это.

0 голосов
/ 31 марта 2019

Firstable, что вы хотите сделать, расширить или настроить пользовательскую модель?

Надеюсь, это помогло вам

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...