新创建用户的密码在管理控制台模型上公开显示。为什么是这样,我是如何正确地做的?在
此外,我实际上无法使用Accounts\u app中创建的任何新用户登录。我只能使用python manage.py createsuperuser
登录
我在项目的早期创建的。在
这是模型.py
from django.contrib.auth.models import AbstractUser
class ProjectUser(AbstractUser):
def __str__(self):
return self.username
这是设置.py
^{pr2}$这是我的管理视图
要创建用户,我在appadmin视图中单击“adduser”。在
这是应用程序.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)
首先,你想做什么,扩展或定制用户模型?在
如果你想延长。。。有外键就够了。为此,Django项目建议使用
OneToOneField(User)
在这种情况下,请参阅下面的链接。在
https://docs.djangoproject.com/en/2.1/topics/auth/customizing/#extending-the-existing-user-model
另一方面,如果要自定义用户模型,则必须在执行迁移之前执行此操作。初始设置必须有您的自定义。只能为用户模型自定义创建应用程序。在
在这种情况下,请参阅下面的链接。在
https://docs.djangoproject.com/en/2.1/topics/auth/customizing/#substituting-a-custom-user-model
https://wsvincent.com/django-tips-custom-user-model/
我希望这对你有帮助
尽管您将ProjectUser设置为AUTH_USER_模型,但您在admin中注册了它作为标准模型,而不是用户模型。您需要使用用户admin,如the docs所示,因为这将负责散列密码:
在更改之前,您需要删除并重新创建通过管理员生成的用户。在
相关问题 更多 >
编程相关推荐