Django在terminal命令行创建超级用户时入到password时输入为什么没有反应?

首先如果遇到这样的问题不用担心,一般一会儿就可以解决;

其实,输入的时候并不是没有反应,只是你输入的时候命令行没有将你的输入显示出来,关键是输入行对Password:********也不是采用这种方式隐藏,而是完全的空白。所以即使按键盘感觉没有反应你也要先输入password,再按回车这时会出现password(again),如果出现Error: Your passwords didn't match.说明两次输入的密码不同,如出现Superuser created successfully.则说明已经success.
 

 

  • 29
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
Django创建一个新的用户表,可以通过扩展 Django 提供的 AbstractBaseUser 和 PermissionsMixin 类来实现。以下是一个示例: ```python from django.contrib.auth.models import AbstractBaseUser, BaseUserManager, PermissionsMixin from django.db import models class CustomUserManager(BaseUserManager): def create_user(self, email, password=None, **extra_fields): """ 创建并保存一个新的用户 """ if not email: raise ValueError('必须提供一个电子邮件地址') user = self.model( email=self.normalize_email(email), **extra_fields ) user.set_password(password) user.save(using=self._db) return user def create_superuser(self, email, password=None, **extra_fields): """ 创建并保存一个新的超级用户 """ extra_fields.setdefault('is_staff', True) extra_fields.setdefault('is_superuser', True) return self.create_user(email, password, **extra_fields) class CustomUser(AbstractBaseUser, PermissionsMixin): email = models.EmailField(unique=True) name = models.CharField(max_length=30) is_active = models.BooleanField(default=True) is_staff = models.BooleanField(default=False) USERNAME_FIELD = 'email' REQUIRED_FIELDS = ['name'] objects = CustomUserManager() def __str__(self): return self.email ``` 在上面的示例中,我们定义了一个名为 `CustomUser` 的模型,它继承自 `AbstractBaseUser` 和 `PermissionsMixin`。我们还定义了一个 `CustomUserManager` 类,它继承自 `BaseUserManager`,并包含创建用户创建超级用户的方法。 注意,在上面的示例中,我们将 `email` 字段用作 `USERNAME_FIELD`,这意味着用户将使用其电子邮件地址进身份验证而不是用户名。`REQUIRED_FIELDS` 列表中包含一个名为 `name` 的字段,这意味着在创建用户必须提供该字段。 最后,我们需要在 `settings.py` 文件中指定我们的用户模型: ```python AUTH_USER_MODEL = 'myapp.CustomUser' ``` 其中,`myapp` 是包含我们的用户模型的应用程序的名称。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值