在Django中扩展用户模型公开保存密码

2024-10-02 10:20:30 发布

您现在位置:Python中文网/ 问答频道 /正文

新创建用户的密码在管理控制台模型上公开显示。为什么是这样,我是如何正确地做的?在

此外,我实际上无法使用Accounts\u app中创建的任何新用户登录。我只能使用python manage.py createsuperuser登录 我在项目的早期创建的。在

enter image description here

这是模型.py

from django.contrib.auth.models import AbstractUser


class ProjectUser(AbstractUser):

    def __str__(self):
        return self.username

这是设置.py

^{pr2}$

这是我的管理视图

enter image description here

要创建用户,我在appadmin视图中单击“adduser”。在

enter image description here

这是应用程序.py文件

from django.apps import AppConfig


class AccountsConfig(AppConfig):
    name = 'accounts_app'

这是管理员py文件

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

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

Tags: 文件django用户frompy模型importself
2条回答

首先,你想做什么,扩展或定制用户模型?在

我希望这对你有帮助

尽管您将ProjectUser设置为AUTH_USER_模型,但您在admin中注册了它作为标准模型,而不是用户模型。您需要使用用户admin,如the docs所示,因为这将负责散列密码:

from django.contrib.auth.admin import UserAdmin

admin.site.register(ProjectUser, UserAdmin)

在更改之前,您需要删除并重新创建通过管理员生成的用户。在

相关问题 更多 >

    热门问题